oceani: Expression etc should be 'exec', not 'binode'.
As a 'var' and a 'val' are possible expressions,
'binode' isn't correct. This is obvious when you
consider that I needed to case $1 for a var or var
before assigning it to $0 for Factor -> Value etc.
So change all these to expect the more generic 'struct exec *'.
Without this change, error handling can try to free a var as though it
was a binode, and get into trouble.