But if server_types is not defined (or empty) then `none(".*", server_types)` will still yield a positive result.
The following workstation class definitions are identical. They will always be defined (or not) together since they are all a negative assertion, directly or indirectly, of any element in the list server_types.
"server" or => { "@{server_types}" };
"workstation1" expression => "!server";
"workstation2" not => "server";
"workstation3" expression => none(".*", server_types);
In order to have a positive assertion for workstation classes there needs to be a positive identifier for workstations, I agree, but none() won't give that to you.