{ιA : Type u_1} →
  {ιM : Type u_2} →
    {A : Type u_4} →
      {M : Type u_5} →
        {σ : Type u_6} →
          {σ' : Type u_7} →
            [inst : AddMonoid ιA] →
              [inst_1 : AddAction ιA ιM] →
                [inst_2 : Semiring A] →
                  (𝓐 : ιA → σ') →
                    [inst_3 : SetLike σ' A] →
                      (𝓜 : ιM → σ) →
                        [inst_4 : AddCommMonoid M] →
                          [inst_5 : Module A M] →
                            [inst_6 : SetLike σ M] →
                              [inst_7 : AddSubmonoidClass σ' A] →
                                [inst_8 : AddSubmonoidClass σ M] →
                                  [inst_9 : SetLike.GradedMonoid 𝓐] →
                                    [inst_10 : SetLike.GradedSMul 𝓐 𝓜] →
                                      [inst_11 : DecidableEq ιA] →
                                        [inst_12 : DecidableEq ιM] →
                                          [inst_13 : GradedRing 𝓐] →
                                            [DirectSum.Decomposition 𝓜] → M ≃ₗ[A] DirectSum ιM fun i => ↥(𝓜 i)