There's no particular reason why parameter-less factories are in type_fwd.h, but the others in their respective implementation headers. By putting more factories in type_fwd.h, we may be able to avoid importing the heavier headers in some places.
- links to