(R : Type u_1) →
  {S : Type u_2} →
    {M₁ : Type u_3} →
      {M₂ : Type u_4} →
        [inst : CommSemiring R] →
          [inst_1 : AddCommMonoid M₁] →
            [inst_2 : Module R M₁] →
              [inst_3 : AddCommMonoid M₂] →
                [inst_4 : Module R M₂] →
                  [inst_5 : Semiring S] →
                    [inst_6 : Module S M₁] →
                      [inst_7 : Module S M₂] →
                        [inst_8 : SMulCommClass S R M₁] →
                          [inst_9 : SMulCommClass S R M₂] →
                            [inst_10 : SMul R S] →
                              [inst_11 : IsScalarTower R S M₁] →
                                [inst_12 : IsScalarTower R S M₂] → (M₁ ≃ₗ[S] M₂) → Module.End S M₁ ≃ₐ[R] Module.End S M₂