& package:compdata

left-biased union of two mappings.
This data type adds a constant product (annotation) to a signature.
This data type adds a constant product to a signature. Alternatively, this could have also been defined as
data (f :&: a) (g ::  Type -> Type) e = f g e :&: a e
This is too general, however, for example for productHHom.