Section funfreemon_mor_def.
Variable f : Map A B.
Fixpoint Dist_fun (l : Tlist A) : Tlist B :=
match l with
| Empty => Empty B
| Concat1 a l1 => Concat1 (f a) (Dist_fun l1)
end.
Canonical Structure Dist_map := Build_Map Dist_map_law.

Lemma Dist_map_op_law : MonOp_law Dist_map.