Split up products, and add some more.

After    | File Name                             | Before
-----------------------------------------------------------
0m40.01s | Category/Equality                     | 0m40.91s
0m22.56s | NaturalTransformation/Equality        | 0m22.28s
0m17.26s | Functor/Equality                      | 0m17.36s
0m11.12s | Comma/CommaCategory                   | 0m10.68s
0m10.45s | Comma/Duals                           | 0m10.12s
0m09.00s | Groupoid                              | 0m08.89s
0m07.46s | Category/Morphisms                    | 0m07.99s
0m04.56s | Grothendieck/ToSet                    | 0m04.67s
0m03.86s | Groupoid/Functors                     | 0m03.82s
0m02.24s | SumPreCategory                        | 0m02.32s
0m02.24s | Functor/CompositionLaws               | 0m02.24s
0m02.14s | Category/Product                      |   N/A
  N/A    | ProductPreCategory                    | 0m01.78s
0m01.77s | NaturalTransformation/Duals           | 0m01.74s
0m01.36s | NaturalTransformation/Composition     | 0m01.21s
0m01.18s | NaturalTransformation/CompositionLaws | 0m01.23s
0m01.05s | InitialTerminalCategory               | 0m01.04s
0m00.85s | NatCategory                           | 0m00.84s
0m00.66s | BoolCategory                          | 0m00.64s
0m00.52s | SetCategory                           | 0m00.56s
0m00.37s | Functor/Product                       |   N/A
0m00.29s | Common                                | 0m00.30s
0m00.26s | Functor/Composition                   | 0m00.25s
0m00.26s | Adjoint/UnitCounit                    | 0m00.28s
0m00.24s | NaturalTransformation/Identity        | 0m00.30s
0m00.23s | Functor/Duals                         | 0m00.23s
0m00.22s | FunctorPreCategory                    | 0m00.26s
0m00.21s | Category/Objects                      | 0m00.23s
0m00.18s | IsGroupoid                            | 0m00.19s
0m00.16s | NaturalTransformation/Core            | 0m00.18s
0m00.15s | Category/Core                         | 0m00.16s
0m00.15s | Category/Duals                        | 0m00.18s
0m00.15s | NaturalTransformation/Product         |   N/A
0m00.13s | ComputableCat                         | 0m00.13s
0m00.13s | Functor/Core                          | 0m00.12s
0m00.12s | Peano                                 | 0m00.13s
0m00.11s | Category/Category                     | 0m00.09s
0m00.10s | NaturalTransformation                 | 0m00.09s
0m00.09s | Functor/Identity                      | 0m00.08s
0m00.09s | Category/StrictCategory               | 0m00.08s
0m00.09s | DiscreteCategory                      | 0m00.08s
0m00.09s | Grothendieck                          | 0m00.08s
0m00.08s | Functor                               | 0m00.09s
0m00.06s | Utf8                                  | 0m00.08s
0m00.05s | Notations                             | 0m00.08s
0m00.04s | NotationsUtf8                         | 0m00.05s
-----------------------------------------------------------
2m24.34s | Total                                 | 2m24.05s
Add comma category projection

After    | File Name                             | Before
-----------------------------------------------------------
0m40.42s | Category/Equality                     | 0m39.56s
0m22.86s | NaturalTransformation/Equality        | 0m21.26s
0m17.21s | Functor/Equality                      | 0m18.10s
0m11.31s | Comma/CommaCategory                   | 0m10.55s
0m10.65s | Comma/Duals                           | 0m10.53s
0m09.64s | Groupoid                              | 0m08.99s
0m07.56s | Category/Morphisms                    | 0m07.57s
0m04.48s | Grothendieck/ToSet                    | 0m04.52s
0m03.78s | Groupoid/Functors                     | 0m04.06s
0m02.41s | SumPreCategory                        | 0m02.34s
0m02.06s | Functor/CompositionLaws               | 0m02.22s
0m02.02s | Category/Product                      | 0m02.09s
0m01.69s | NaturalTransformation/Duals           | 0m01.72s
0m01.36s | NaturalTransformation/Composition     | 0m01.32s
0m01.18s | NaturalTransformation/CompositionLaws | 0m01.17s
0m01.11s | Comma/Projection                      |   N/A
0m01.11s | InitialTerminalCategory               | 0m01.07s
0m00.88s | NatCategory                           | 0m00.90s
0m00.62s | BoolCategory                          | 0m00.63s
0m00.50s | SetCategory                           | 0m00.48s
0m00.33s | Functor/Product                       | 0m00.35s
0m00.31s | Common                                | 0m00.28s
0m00.27s | Adjoint/UnitCounit                    | 0m00.26s
0m00.27s | NaturalTransformation/Identity        | 0m00.25s
0m00.25s | Category/Objects                      | 0m00.20s
0m00.24s | Functor/Duals                         | 0m00.25s
0m00.22s | FunctorPreCategory                    | 0m00.23s
0m00.22s | Functor/Composition                   | 0m00.24s
0m00.21s | IsGroupoid                            | 0m00.19s
0m00.18s | NaturalTransformation/Core            | 0m00.20s
0m00.16s | Category/Core                         | 0m00.19s
0m00.16s | NaturalTransformation/Product         | 0m00.16s
0m00.15s | Functor/Core                          | 0m00.12s
0m00.13s | ComputableCat                         | 0m00.12s
0m00.13s | Category/Duals                        | 0m00.18s
0m00.11s | Peano                                 | 0m00.14s
0m00.10s | Category/Category                     | 0m00.10s
0m00.09s | NaturalTransformation                 | 0m00.10s
0m00.09s | Category/StrictCategory               | 0m00.08s
0m00.08s | Functor/Identity                      | 0m00.10s
0m00.08s | Grothendieck                          | 0m00.08s
0m00.07s | Functor                               | 0m00.06s
0m00.07s | DiscreteCategory                      | 0m00.11s
0m00.07s | Utf8                                  | 0m00.07s
0m00.03s | NotationsUtf8                         | 0m00.04s
0m00.03s | Notations                             | 0m00.04s
-----------------------------------------------------------
2m26.90s | Total                                 | 2m23.21s