Use the following type declarations: type count = int;; type computation = count -> (int * count);; (You can make the computation type polymorphic if you want to.) If you're still stumped, read Wadler--