(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