fact*: closure [h] [func [n] [either n <= 1 [1] [n * h n - 1]]] fact: Y :fact*