val int : int tval string : string tval bool : bool tval float : float tval unit : unit tmap f eq is the equality function that, given objects x and y,
projects x and y using f (e.g. using a record field) and then
compares those projections with eq.
Example:
map fst int compares values of type (int * 'a) by their
first component.
module Infix : sig ... end