Update functional.h