The way to do this is:
type ('a, 'b) foo = 'a * 'b
Type parameters are not specified, so you need to provide them as a tuple as one parameter. A good example of this is the Hashtbl module:
type ('a, 'b) t
A hash table type from type 'a for input "b.
source share