Better validation in FuncFactory.
Improve CachedPropertyInfo api.
Refactor FuncFactory.
CachedType factory method returns a new instance for each call.
Make things more lazy.