Refactor expression lists

Also fixes weirdness with printing