> you've misunderstood the current grammar. you have defined 2 functions
> name and '@' as {block}. the binding, illustrated with parens is
> fn (name @) {block}
> the production in the grammer is
> FN words brace
> but since once production for words is words -> keyword, a keyword
> is a valid function name.
Then, how would you explain this:
term% fn x @{x=y}
term% whatis x
fn x {x=y}
term% fn 'x @'{x=y}
term% whatis 'x @'
fn 'x @' {x=y}
