> a : int -> float -> int
> a : float -> int -> int
I'm not sure there is one- in fact, I don't think there is. Consider if I
have the following case as above, and then I type:
let g = a;;
what's the type of g? Is it int -> float -> int or float -> int -> int?
As a more general rule, how I deal with overloading in Ocaml is to use
modules and functors.