Fix handling of non-assignment lines

Possible solution for #1.
Also using `function!` for some calls. How did I miss that before? What.