o~{foo} compiles to {foo: bind$(o, 'foo')}
but
o~{foo:bar} compiles to {foo: o.bar}
The latter ought to be {foo: bind$(o, 'bar')}, right?
(Note to self, possibly others: I encountered this while playing with solutions to #899; might be better to fix this before fixing that.)