In coroutining mode, if Number is a free variable, the call to denominator/2 is delayed until this variable is instantiated.
Success: denominator(3_4, 4). denominator(9_12, 4). denominator(-3_4, 4). denominator(25, 1). Fail: denominator(3_4, 3). Error: denominator(A, 3). (Error 4). denominator(3.1, 3). (Error 5). denominator(3_4, 3_1). (Error 5). denominator(3_4, r). (Error 24). denominator(1_3 + 3_4, 12). (Error 24).