∀ {R : Type u} {M : Type v} [inst : CommRing R] [inst_1 : AddCommGroup M] [inst_2 : Module R M],
  (∀ ⦃P : Type u⦄ [inst_3 : AddCommMonoid P] [inst_4 : Module R P] [Module.Finite R P] (N : Submodule R P),
      N.FG → Function.Injective ⇑(LinearMap.rTensor M N.subtype)) →
    (∀ ⦃m : Ideal R⦄, m.IsMaximal → m • ⊤ ≠ ⊤) → Module.FaithfullyFlat R M