As I mentioned in a tweet to raganwald the problem with this approach is that the object becomes opaque and can no longer be manipulated. ClojureScript allows you to preserve the dual use.
interesting, although I think this code creates a copy of the original object’s properties rather than proxying them. Mind you, that could be what you want some times...