module Main where runNat f = f 0 (\n -> n + 1) zero z _ = z succ f zero succ = succ (f zero succ) add f g zero succ = g (f zero succ) succ one = succ zero two = succ one four = add two two fourNumber = runNat four main = Debug.Trace.trace $ show fourNumber