{R : Type u_1} →
  {M : Type u_2} →
    {N : Type u_3} →
      (A : Type u_4) →
        [inst : CommSemiring R] →
          [inst_1 : CommSemiring A] →
            [inst_2 : Algebra R A] →
              [inst_3 : AddCommMonoid M] →
                [inst_4 : AddCommMonoid N] →
                  [inst_5 : Module R M] →
                    [inst_6 : Module R N] →
                      [inst_7 : Module A N] →
                        [inst_8 : IsScalarTower R A N] → (M →ₗ[R] N) ≃ₗ[A] TensorProduct R A M →ₗ[A] N