export fact fact c n := f = call == fact drop c := c copy_int n -> n1 n2 one -> o try_minus n1 o -> ok n := c = _ n := mul n n2 -> n c n f.call c n err n o := drop_int n -> drop_int n2 -> f.drop -> c o