Initial work on switches
Emit working code for simple cases
Match vs fixed-length lists
Slightly improve an error message
Add support for variable length list matches
Changed splat operator to `..`