is_check/3 for generic type hierarchies