This allows matchers like:
friendDecl(hasType(cxxRecordDecl(...))) friendDecl(hasType(asString(...)))
It seems that hasType is probably the most reasonable narrowing matcher to
overload, since it is already used to narrow to other declaration kinds.