fn add(a: Int, b: Int): Int is pure = a + b fn factorial(n: Int): Int is deterministic = if n <= 1 then 1 else n * factorial(n - 1) fn multiply(a: Int, b: Int): Int is commutative = a * b fn abs(x: Int): Int is idempotent = if x < 0 then 0 - x else x let sumResult = add(5, 3) let factResult = factorial(5) let productResult = multiply(7, 6) let absResult = abs(0 - 5) fn printResults(): Unit with {Console} = { Console.print("add(5, 3) = " + toString(sumResult)) Console.print("factorial(5) = " + toString(factResult)) Console.print("multiply(7, 6) = " + toString(productResult)) Console.print("abs(-5) = " + toString(absResult)) } let output = run printResults() with {}