In the implementation, there's a check against the regular expression `/^\[\d+/`  This seems like the implementation has some expected behavior for the scenario where the user writes some Puppet DSL like `unless_uid => "[0,1]"`

I don't see any examples of this behavior...  It seems like since the value can be an Array, then we shouldn't implement the special behavior of parsing a string that looks like an array.  Could you please remove the `/^\[\d+/` case in the implementation or provide some clear examples of why the behavior is necessary and distinct from the `Array` case?