∀ {M : Type uM} {N : Type uN} {P : Type uP} {mM : AddZeroClass M} {mN : AddZeroClass N} {mP : AddCommMonoid P}
  (f : M →+ N →+ P),
  f.flip =
    { toFun := fun y => { toFun := fun x => (f x) y, map_zero' := ⋯, map_add' := ⋯ }, map_zero' := ⋯, map_add' := ⋯ }