Make.TripleThe triple interface lifted into a monad.
val fst : ('a * 'b * 'c) T1(T)(M).t -> 'a T1(T)(M).tfst (x,y,z) computes x
val snd : ('a * 'b * 'c) T1(T)(M).t -> 'b T1(T)(M).tsnd (x,y,z computes y
val trd : ('a * 'b * 'c) T1(T)(M).t -> 'c T1(T)(M).ttrd (x,y,z) computes z