{R : Type u_1} →
  [inst : CommRing R] →
    {M : Type u_2} →
      [inst_1 : AddCommGroup M] →
        [inst_2 : Module R M] →
          [Module.Free R M] → [Module.Finite R M] → {f : M →ₗ[R] M} → IsUnit (LinearMap.det f) → M ≃ₗ[R] M