Use my type extension is_inherit_from() instead of IsAssignableFrom