mP, This is not a bug in the client, because this is exactly what the client in my case is trying to represent (a recursive graph of maps). It's not a "bug" to represent that structure.
However since "regular" Java does not support this (i just checked), I agree that GWT should emulate Java's behavior. In my case I'll use the wrapper type I described above, and you're right - I'll have to override equals too. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors