Unbreaking is_callable test for the intel compiler
Making for_each compile again with ICC
Fixing minor bug in function to make sure the proper operator= is selected in function_base
Adding function declaration to header to have the proper free function selected
Silencing warning with missing return statements on ICC