∀ {ι : Type u_1} {R : Type u_4} [inst : CommSemiring R] {R₁ : Type u_5} {R₂ : Type u_6} {s : ι → Type u_7}
  [inst_1 : (i : ι) → AddCommMonoid (s i)] [inst_2 : (i : ι) → Module R (s i)] [inst_3 : Monoid R₁]
  [inst_4 : DistribMulAction R₁ R] [inst_5 : SMulCommClass R₁ R R] [inst_6 : Monoid R₂] [inst_7 : DistribMulAction R₂ R]
  [inst_8 : SMulCommClass R₂ R R] [inst_9 : SMul R₁ R₂] [IsScalarTower R₁ R₂ R],
  IsScalarTower R₁ R₂ (PiTensorProduct R fun i => s i)