∀ {R : Type u_1} [inst : CommSemiring R] (S : Type u_2) [inst_1 : CommSemiring S] [inst_2 : Algebra R S] (M : Type u_4)
  [inst_3 : AddCommMonoid M] [inst_4 : Module R M] {P : Type u_3} [inst_5 : AddCommMonoid P] [inst_6 : Module R P]
  [inst_7 : Module S P] [inst_8 : IsScalarTower R S P], SMulCommClass R S (M →ₗ[R] P)