{ι : Type u_1} →
  {R : Type u_2} →
    {M : ι → Type u_4} →
      [inst : CommRing R] →
        [inst_1 : (i : ι) → AddCommGroup (M i)] →
          [inst_2 : (i : ι) → Module R (M i)] →
            [∀ (i : ι), Module.Finite R (M i)] →
              [∀ (i : ι), Module.Free R (M i)] →
                [Finite ι] →
                  (PiTensorProduct R fun i => Module.Dual R (M i)) ≃ₗ[R] Module.Dual R (PiTensorProduct R fun i => M i)