'Check if this datatype is of any of the target_datatypes or is
a subtype thereof.'

def matches_any(self, target_datatypes):

    datatype_classes = tuple(((datatype if isclass(datatype) else datatype.__class__) for datatype in target_datatypes))
    return isinstance(self, datatype_classes)
