Fixes for 0.6.1

@garyb @joneshf Could you please review?

To parse multiple guards, every guard needs to be equally indented, and in 0.6.1 this means that the body of the guard needs to be more indented than its expression, which breaks `purescript-lists` and `purescript-maps`.
```purescript
down ctx k (Three Leaf k1 v1 Leaf k2 v2 Leaf)
  | k P.== k1 = fromZipper ctx (Two Leaf k2 v2 Leaf)
  | k P.== k2 = fromZipper ctx (Two Leaf k1 v1 Leaf)
```