What he suggests is that DeviceTag could be an object that supports an
equals() method, so that DeviceTag:equals 'Blender' is possible. That
method could be 'overloaded' at run-time by looking at the type of the
second argument.
Another, syntazctically terser solution would be to define your object like this: