Removed dependency on fusion::size
Workaround GCC4.4 bug with member function pointers and force inline
Removed SFINAE so that error messages point to the right place