added support to optional value attribute to set and hash-set