{C : Type u₁} →
  [inst : CategoryTheory.Category.{v₁, u₁} C] →
    [inst_1 : CategoryTheory.MonoidalCategory C] →
      {D : Type u₂} →
        [inst_2 : CategoryTheory.Category.{v₂, u₂} D] →
          [inst_3 : CategoryTheory.MonoidalCategory D] →
            {F : CategoryTheory.Functor C D} →
              (ε :
                  CategoryTheory.MonoidalCategoryStruct.tensorUnit D ⟶
                    F.obj (CategoryTheory.MonoidalCategoryStruct.tensorUnit C)) →
                (μ :
                    (X Y : C) →
                      CategoryTheory.MonoidalCategoryStruct.tensorObj (F.obj X) (F.obj Y) ⟶
                        F.obj (CategoryTheory.MonoidalCategoryStruct.tensorObj X Y)) →
                  autoParam
                      (∀ {X Y : C} (f : X ⟶ Y) (X' : C),
                        CategoryTheory.CategoryStruct.comp
                            (CategoryTheory.MonoidalCategoryStruct.whiskerRight (F.map f) (F.obj X')) (μ Y X') =
                          CategoryTheory.CategoryStruct.comp (μ X X')
                            (F.map (CategoryTheory.MonoidalCategoryStruct.whiskerRight f X')))
                      CategoryTheory.Functor.LaxMonoidal.μ_natural_left._autoParam →
                    autoParam
                        (∀ {X Y : C} (X' : C) (f : X ⟶ Y),
                          CategoryTheory.CategoryStruct.comp
                              (CategoryTheory.MonoidalCategoryStruct.whiskerLeft (F.obj X') (F.map f)) (μ X' Y) =
                            CategoryTheory.CategoryStruct.comp (μ X' X)
                              (F.map (CategoryTheory.MonoidalCategoryStruct.whiskerLeft X' f)))
                        CategoryTheory.Functor.LaxMonoidal.μ_natural_right._autoParam →
                      autoParam
                          (∀ (X Y Z : C),
                            CategoryTheory.CategoryStruct.comp
                                (CategoryTheory.MonoidalCategoryStruct.whiskerRight (μ X Y) (F.obj Z))
                                (CategoryTheory.CategoryStruct.comp
                                  (μ (CategoryTheory.MonoidalCategoryStruct.tensorObj X Y) Z)
                                  (F.map (CategoryTheory.MonoidalCategoryStruct.associator X Y Z).hom)) =
                              CategoryTheory.CategoryStruct.comp
                                (CategoryTheory.MonoidalCategoryStruct.associator (F.obj X) (F.obj Y) (F.obj Z)).hom
                                (CategoryTheory.CategoryStruct.comp
                                  (CategoryTheory.MonoidalCategoryStruct.whiskerLeft (F.obj X) (μ Y Z))
                                  (μ X (CategoryTheory.MonoidalCategoryStruct.tensorObj Y Z))))
                          CategoryTheory.Functor.LaxMonoidal.associativity._autoParam →
                        autoParam
                            (∀ (X : C),
                              (CategoryTheory.MonoidalCategoryStruct.leftUnitor (F.obj X)).hom =
                                CategoryTheory.CategoryStruct.comp
                                  (CategoryTheory.MonoidalCategoryStruct.whiskerRight ε (F.obj X))
                                  (CategoryTheory.CategoryStruct.comp
                                    (μ (CategoryTheory.MonoidalCategoryStruct.tensorUnit C) X)
                                    (F.map (CategoryTheory.MonoidalCategoryStruct.leftUnitor X).hom)))
                            CategoryTheory.Functor.LaxMonoidal.left_unitality._autoParam →
                          autoParam
                              (∀ (X : C),
                                (CategoryTheory.MonoidalCategoryStruct.rightUnitor (F.obj X)).hom =
                                  CategoryTheory.CategoryStruct.comp
                                    (CategoryTheory.MonoidalCategoryStruct.whiskerLeft (F.obj X) ε)
                                    (CategoryTheory.CategoryStruct.comp
                                      (μ X (CategoryTheory.MonoidalCategoryStruct.tensorUnit C))
                                      (F.map (CategoryTheory.MonoidalCategoryStruct.rightUnitor X).hom)))
                              CategoryTheory.Functor.LaxMonoidal.right_unitality._autoParam →
                            (η :
                                F.obj (CategoryTheory.MonoidalCategoryStruct.tensorUnit C) ⟶
                                  CategoryTheory.MonoidalCategoryStruct.tensorUnit D) →
                              (δ :
                                  (X Y : C) →
                                    F.obj (CategoryTheory.MonoidalCategoryStruct.tensorObj X Y) ⟶
                                      CategoryTheory.MonoidalCategoryStruct.tensorObj (F.obj X) (F.obj Y)) →
                                autoParam
                                    (∀ {X Y : C} (f : X ⟶ Y) (X' : C),
                                      CategoryTheory.CategoryStruct.comp (δ X X')
                                          (CategoryTheory.MonoidalCategoryStruct.whiskerRight (F.map f) (F.obj X')) =
                                        CategoryTheory.CategoryStruct.comp
                                          (F.map (CategoryTheory.MonoidalCategoryStruct.whiskerRight f X')) (δ Y X'))
                                    CategoryTheory.Functor.OplaxMonoidal.δ_natural_left._autoParam →
                                  autoParam
                                      (∀ {X Y : C} (X' : C) (f : X ⟶ Y),
                                        CategoryTheory.CategoryStruct.comp (δ X' X)
                                            (CategoryTheory.MonoidalCategoryStruct.whiskerLeft (F.obj X') (F.map f)) =
                                          CategoryTheory.CategoryStruct.comp
                                            (F.map (CategoryTheory.MonoidalCategoryStruct.whiskerLeft X' f)) (δ X' Y))
                                      CategoryTheory.Functor.OplaxMonoidal.δ_natural_right._autoParam →
                                    autoParam
                                        (∀ (X Y Z : C),
                                          CategoryTheory.CategoryStruct.comp
                                              (δ (CategoryTheory.MonoidalCategoryStruct.tensorObj X Y) Z)
                                              (CategoryTheory.CategoryStruct.comp
                                                (CategoryTheory.MonoidalCategoryStruct.whiskerRight (δ X Y) (F.obj Z))
                                                (CategoryTheory.MonoidalCategoryStruct.associator (F.obj X) (F.obj Y)
                                                    (F.obj Z)).hom) =
                                            CategoryTheory.CategoryStruct.comp
                                              (F.map (CategoryTheory.MonoidalCategoryStruct.associator X Y Z).hom)
                                              (CategoryTheory.CategoryStruct.comp
                                                (δ X (CategoryTheory.MonoidalCategoryStruct.tensorObj Y Z))
                                                (CategoryTheory.MonoidalCategoryStruct.whiskerLeft (F.obj X) (δ Y Z))))
                                        CategoryTheory.Functor.OplaxMonoidal.oplax_associativity._autoParam →
                                      autoParam
                                          (∀ (X : C),
                                            (CategoryTheory.MonoidalCategoryStruct.leftUnitor (F.obj X)).inv =
                                              CategoryTheory.CategoryStruct.comp
                                                (F.map (CategoryTheory.MonoidalCategoryStruct.leftUnitor X).inv)
                                                (CategoryTheory.CategoryStruct.comp
                                                  (δ (CategoryTheory.MonoidalCategoryStruct.tensorUnit C) X)
                                                  (CategoryTheory.MonoidalCategoryStruct.whiskerRight η (F.obj X))))
                                          CategoryTheory.Functor.OplaxMonoidal.oplax_left_unitality._autoParam →
                                        autoParam
                                            (∀ (X : C),
                                              (CategoryTheory.MonoidalCategoryStruct.rightUnitor (F.obj X)).inv =
                                                CategoryTheory.CategoryStruct.comp
                                                  (F.map (CategoryTheory.MonoidalCategoryStruct.rightUnitor X).inv)
                                                  (CategoryTheory.CategoryStruct.comp
                                                    (δ X (CategoryTheory.MonoidalCategoryStruct.tensorUnit C))
                                                    (CategoryTheory.MonoidalCategoryStruct.whiskerLeft (F.obj X) η)))
                                            CategoryTheory.Functor.OplaxMonoidal.oplax_right_unitality._autoParam →
                                          autoParam
                                              (CategoryTheory.CategoryStruct.comp ε η =
                                                CategoryTheory.CategoryStruct.id
                                                  (CategoryTheory.MonoidalCategoryStruct.tensorUnit D))
                                              CategoryTheory.Functor.Monoidal.ε_η._autoParam →
                                            autoParam
                                                (CategoryTheory.CategoryStruct.comp η ε =
                                                  CategoryTheory.CategoryStruct.id
                                                    (F.obj (CategoryTheory.MonoidalCategoryStruct.tensorUnit C)))
                                                CategoryTheory.Functor.Monoidal.η_ε._autoParam →
                                              autoParam
                                                  (∀ (X Y : C),
                                                    CategoryTheory.CategoryStruct.comp (μ X Y) (δ X Y) =
                                                      CategoryTheory.CategoryStruct.id
                                                        (CategoryTheory.MonoidalCategoryStruct.tensorObj (F.obj X)
                                                          (F.obj Y)))
                                                  CategoryTheory.Functor.Monoidal.μ_δ._autoParam →
                                                autoParam
                                                    (∀ (X Y : C),
                                                      CategoryTheory.CategoryStruct.comp (δ X Y) (μ X Y) =
                                                        CategoryTheory.CategoryStruct.id
                                                          (F.obj (CategoryTheory.MonoidalCategoryStruct.tensorObj X Y)))
                                                    CategoryTheory.Functor.Monoidal.δ_μ._autoParam →
                                                  F.Monoidal