factorial: int -> int; factorial(n) := 1 when n <= 0 else n * factorial(n-1);