Refactored the has_empty_target() function(s) not to use SFINAE. Moved the empty() member function to the function_base class.