Don't chain calls to &~ (use do notation instead) and use 'zoom'

The size of this commit is larger than it should be because I have stylish-haskell automatically invoked, but hopefully it's not an issue.