dispatch on a derived class from a nonmember function if it matches 'SpecialType'