When conducting "is in" against a list of objects, they are compared using
unequal unless they are the same object.
http://docs.python.org/2/reference/expressions.html#in
According to PEP8, they should be compared by their id not value
Therefore the is_attr_set logic has changed to:
return not (attribute is None or attribute is ATTR_NOT_SPECIFIED)