{M : Type uM} →
  {N : Type uN} →
    {P : Type uP} →
      {Q : Type uQ} →
        [inst : AddZeroClass M] →
          [inst_1 : AddZeroClass N] →
            [inst_2 : AddCommMonoid P] → [inst_3 : AddCommMonoid Q] → (M →+ N →+ P) → (P →+ Q) → M →+ N →+ Q