(R : Type u_1) →
  (M : Type u_2) →
    [inst : CommSemiring R] →
      [inst_1 : AddCommMonoid M] →
        [inst_2 : Module R M] →
          (S : Type u_3) →
            [inst_3 : CommMonoid S] → [inst_4 : DistribMulAction S M] → [SMulCommClass S R M] → Submodule R M