module M; type Nat := | O : Nat | S : Nat -> Nat; fun : Nat -> Nat; fun (S {S {x}}) := x;