Wraps the given value in a list. ``None`` returns an empty list. Lists and tuples are returned as lists. Single
    strings and registered types are wrapped in a list.

    :param value: Value to return as a list.
    :return: List with the provided value(s).
    :rtype: list

def get_list(value):
    """
    Wraps the given value in a list. ``None`` returns an empty list. Lists and tuples are returned as lists. Single
    strings and registered types are wrapped in a list.

    :param value: Value to return as a list.
    :return: List with the provided value(s).
    :rtype: list
    """
    if value is None:
        return []
    elif value is NotSet:
        return NotSet
    elif isinstance(value, (list, tuple)):
        return list(value)
    elif isinstance(value, six.string_types + (lazy_type, )) or uses_type_registry(value):
        return [value]
    raise ValueError("Invalid type; expected a list, tuple, or string type, found {0}.".format(
        type(value).__name__))