(R : Type u) →
  (M : Type u_1) →
    (N : Type u_2) →
      [inst : CommSemiring R] →
        [inst_1 : AddCommMonoid M] →
          [inst_2 : Module R M] →
            [inst_3 : AddCommMonoid N] →
              [inst_4 : Module R N] →
                [inst_5 : DecidableEq { P // P.FG }] →
                  (Module.DirectLimit (fun P => TensorProduct R (↥↑P) N) fun ⦃P Q⦄ h =>
                      LinearMap.rTensor N (Submodule.inclusion h)) ≃ₗ[R]
                    TensorProduct R M N