functor
(
M1
:
T
) (
M2
:
T
)
->
T