{J : Type u₁} →
  {K : Type u₂} →
    [inst : CategoryTheory.Category.{v₁, u₁} J] →
      [inst_1 : CategoryTheory.Category.{v₂, u₂} K] →
        {C : Type u} →
          [inst_2 : CategoryTheory.Category.{v, u} C] →
            (F : CategoryTheory.Functor (J × K) C) →
              [inst_3 : CategoryTheory.Limits.HasLimitsOfShape J C] →
                [inst_4 : CategoryTheory.Limits.HasColimitsOfShape K C] →
                  CategoryTheory.Limits.colimit
                      ((CategoryTheory.Functor.curry.obj ((CategoryTheory.Prod.swap K J).comp F)).comp
                        CategoryTheory.Limits.lim) ⟶
                    CategoryTheory.Limits.limit ((CategoryTheory.Functor.curry.obj F).comp CategoryTheory.Limits.colim)