Minor fixes

- paths were being reversed.
- case with no block was resulting in `{expr:null, pos:pos}` instead of just `null`

`case _:` currently generates an "Unexpected Sharp()", haven't got to the bottom of that one yet.