In coroutining mode, if Number is a free variable, the call to round/2 is delayed until this variable is instantiated.
Success: round(1.49, 1.0). round(1.5, 2.0). (odd integer part) round(2.5, 2.0). round(2.51, 3.0). (even integer part) round(3.5, 4.0). round(-6.4, Result). (gives Result = -6.0) round(3, 3). Fail: round(1, 0.0). Error: round(A, 6.0). (Error 4). round(0.5, 0). (Error 5). round(4 + 2.3, 6.0). (Error 24). round(1, r). (Error 24).