type X = N -> N f : X f(0) = 3 f(n) = n+1 g : N -> X g(0)(2) = 1 g(_)(_) = 2