church :: Integer -> String church n = "\\f.\\x."<>church' n where church' :: Integer -> String church' 0 = "x" church' x = "(f " <> church' (x - 1) <> ")"