<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I don't understand this example [p16]<br>
<br>
    foo:bar(Ugh),<br>
<br>
How is this ambiguous? Are you trying to set the bar element from the<br>
foo frame? Your next line is unclear.<br></blockquote><div><br></div><div>It is ambiguous because:</div><div><br></div><div>    { foo:bar(Ugh) }</div><div><br></div><div>Could be a tuple with one element which is the result of foo:bar(Ugh) or</div>

<div>a frame with key foo and value bar(Ugh) (according to your proposal).</div><div>There is also the "ambiguity" in {}. Is it an empty frame or an empty tuple?</div><div><br></div><div><{ foo: bar(Ugh) }> could work because there would be no ambiguity for</div>

<div>the compiler, but it would be still ambiguous for humans (damn you, humans).</div><div>I would shrug if I read a code like <{ foo:bar(Ugh) }> that actually means</div><div><{ foo: bar(Ugh) }>.</div></div>