FIXME: 3.5 only

def is_support_abstract_type(t):
    """FIXME: 3.5 only"""
    if hasattr(t, '__origin__') and t.__origin__:
        data_type = t.__origin__
    else:
        data_type = t
    abstract_types = {
        typing.Sequence,
        typing.List,
        typing.Set,
        typing.AbstractSet,
        typing.Mapping,
        typing.Dict,
    }
    return any(type_ is data_type for type_ in abstract_types)