Canonical Structure UA_FM_mor := Build_Map UA_FM_map_law.Fixpoint UA_FM_diese_fun (l : FreeMonoid A) : B :=
   match l with
   | Empty => Munit B
   | Concat1 a m => f a +_M UA_FM_diese_fun m
   end.

(* Specifications: *)
Lemma UA_FM_diese_map_law : Map_law UA_FM_diese_fun.