(X : Trans_base) = struct   include X   let fmap  f term        = fwd (f (bwd term))   let fmap2 f term1 term2 = fwd (f (bwd term1) (bwd term2)) end