added nclr/functional.hpp and nclr/enabler.hpp