Turn Functor.Product.FunctorProduct into a functor

After    | File Name                             | Before
-----------------------------------------------------------
6m27.13s | Total                                 | 6m17.46s
-----------------------------------------------------------
0m32.17s | Grothendieck/PseudofunctorToCat       | 0m31.73s
0m29.58s | Comma/Duals                           | 0m29.29s
0m28.43s | Category/Equality                     | 0m27.24s
0m27.46s | Adjoint/Hom                           | 0m26.23s
0m19.77s | Pseudofunctor/Core                    | 0m19.50s
0m16.93s | Adjoint/UniversalMorphisms            | 0m16.91s
0m16.36s | Functor/Pointwise/Properties          | 0m15.64s
0m16.19s | Pseudofunctor/FromFunctor             | 0m16.14s
0m15.67s | Adjoint/Duals                         | 0m15.24s
0m15.40s | Adjoint/Composition                   | 0m15.15s
0m13.04s | Adjoint/UnitCounitCoercions           | 0m12.84s
0m10.68s | UniversalProperties                   | 0m10.71s
0m10.68s | Comma/InducedFunctors                 | 0m10.61s
0m08.70s | Groupoid                              | 0m08.55s
0m08.70s | Adjoint/Equality                      | 0m08.33s
0m08.61s | DualFunctor                           | 0m08.70s
0m08.56s | Category/Morphisms                    | 0m08.40s
0m07.12s | Adjoint/UnitCounit                    | 0m07.29s
0m06.60s | Groupoid/Duals                        | 0m06.41s
0m05.67s | Functor/Sum                           | 0m05.42s
0m05.10s | Functor/Equality                      | 0m05.01s
0m05.04s | NaturalTransformation/Pointwise       | 0m05.04s
0m04.20s | Groupoid/Functors                     | 0m04.30s
0m04.18s | Functor/Attributes                    | 0m04.30s
0m04.07s | Subcategory/SigmaMorphisms            | 0m03.95s
0m04.06s | Category/Sum                          | 0m04.08s
0m03.60s | Comma/CommaCategory                   | 0m03.64s
0m03.43s | Functor/ProductFunctor                |   N/A
0m03.08s | Grothendieck/ToSet                    | 0m03.14s
0m03.01s | BoolCategory                          | 0m02.88s
0m02.78s | Subcategory/Sigma                     | 0m02.78s
0m02.44s | Hom                                   | 0m02.60s
0m02.30s | NaturalTransformation/CompositionLaws | 0m02.29s
0m02.19s | Category/Product                      | 0m02.14s
0m02.13s | NaturalTransformation/Duals           | 0m02.17s
0m02.13s | NaturalTransformation/Isomorphisms    | 0m02.21s
0m02.12s | NaturalTransformation/Equality        | 0m02.07s
0m01.94s | FunctorCategory/Morphisms             | 0m01.93s
0m01.86s | Functor/Product                       | 0m01.80s
0m01.70s | NaturalTransformation/Product         | 0m01.79s
0m01.59s | NaturalTransformation/Composition     | 0m01.59s
0m01.47s | Functor/Pointwise                     | 0m01.54s
0m01.34s | Subcategory/SigmaObjects              | 0m01.33s
0m00.98s | CategoryOfSections                    | 0m01.00s
0m00.95s | InitialTerminalCategory               | 0m00.96s
0m00.94s | Comma/Projection                      | 0m00.90s
0m00.73s | Subcategory/Wide                      | 0m00.70s
0m00.59s | NaturalTransformation/Sum             | 0m00.49s
0m00.58s | Functor/CompositionLaws               | 0m00.53s
0m00.52s | FunctorCategory/Functorial            | 0m00.43s
0m00.51s | Common                                | 0m00.56s
0m00.45s | Discrete/Duals                        | 0m00.46s
0m00.44s | Cat                                   | 0m00.49s
0m00.41s | IndiscreteCategory                    | 0m00.34s
0m00.39s | Cat/Morphisms                         | 0m00.36s
0m00.39s | SetCategory                           | 0m00.37s
0m00.35s | IsGroupoid                            | 0m00.34s
0m00.34s | Category/Objects                      | 0m00.36s
0m00.34s | FunctorCategory                       | 0m00.36s
0m00.32s | Functor/Duals                         | 0m00.30s
0m00.31s | NaturalTransformation/Identity        | 0m00.31s
0m00.31s | Grothendieck/ToCat                    | 0m00.27s
0m00.29s | Functor/Composition                   | 0m00.26s
0m00.27s | DependentProduct                      | 0m00.24s
0m00.26s | NatCategory/Duals                     | 0m00.21s
0m00.24s | NatCategory                           | 0m00.28s
0m00.23s | Category/Core                         | 0m00.24s
0m00.23s | Adjoint                               | 0m00.14s
0m00.22s | NaturalNumbersObject                  | 0m00.20s
0m00.20s | Category/Duals                        | 0m00.18s
0m00.18s | Coq/Logic/Decidable                   | 0m00.21s
0m00.18s | NaturalTransformation/Core            | 0m00.21s
0m00.18s | ComputableCat                         | 0m00.20s
0m00.17s | Category/UnivalentCategory            | 0m00.13s
0m00.17s | Coq/Arith/Compare_dec                 | 0m00.12s
0m00.16s | Adjoint/Identity                      | 0m00.19s
0m00.16s | Peano                                 | 0m00.13s
0m00.16s | DiscreteCategory                      | 0m00.12s
0m00.16s | Utf8                                  | 0m00.10s
0m00.14s | Subcategory                           | 0m00.11s
0m00.13s | Subcategory/Full                      | 0m00.10s
0m00.13s | Functor/Core                          | 0m00.16s
0m00.13s | Grothendieck                          | 0m00.12s
0m00.13s | Coq/Arith/Plus                        | 0m00.17s
0m00.13s | Pseudofunctor                         | 0m00.15s
0m00.12s | Functor                               | 0m00.12s
0m00.11s | Category/StrictCategory               | 0m00.12s
0m00.11s | Coq/Arith/Lt                          | 0m00.16s
0m00.11s | Functor/Identity                      | 0m00.11s
0m00.10s | NaturalTransformation                 | 0m00.10s
0m00.10s | Category                              | 0m00.14s
0m00.10s | Coq/Arith/Gt                          | 0m00.11s
0m00.10s | Coq/Arith/Le                          | 0m00.06s
0m00.07s | NotationsUtf8                         | 0m00.06s
0m00.04s | Notations                             | 0m00.07s
Functor.ProductFunctor -> Functor.Product.ProductFunctor