':param value_type: a column class indicating the types of the value
:param strict: sets whether non set values will be coerced to set
type on validation, or raise a validation error, defaults to True'

def __init__(self, value_type, strict=True, default=set, **kwargs):

    self.strict = strict
    super(Set, self).__init__((value_type,), default=default, **kwargs)
    self.value_col = self.types[0]
    if (not self.value_col._python_type_hashable):
        raise ValidationError('Cannot    create    a    Set    with    unhashable    value    type    (see    PYTHON-494)')
    self.db_type = 'set<{0}>'.format(self.value_col.db_type)
