revise fix for #16 to detect changes to mutable attribute values
check for mutable values in complete(), not just when an attribute is explicitly re-set