Function adaptors

Function adaptors work only with function object classes with argument types and result type defined.