refactor has_type

 remove unnecessary identifier
add has_difference_type_test.cpp