Put the creation of ndt::type from the functor types in a macro