has_member_type trait added