Add functional.h.