Constructing Universes for Generic Programming. - Peter W. J. Morris (2007)