Basic types boxing wrappers. functional.hpp divided in two headers: eval.hpp and function.hpp