Function type deduction template.
copt: Argument can now skip the object constructions with the fill template.
ValueFunction no longer uses std::function.

This allows for greater compile-time optimizations and removes an
extra hop when calling functions.
copt: split Type::add to trim out the template.
play-time with number.cpp