See https://try.purescript.org/?gist=26968458c1261226b33e574128ba9aae For a given array like `[0, 1, 2]`, I expect the `l` and `r` arguments to be - first run: `0` and `1` - second run: `1` and `2` However, in the second run, `l` is `0` rather than `1`. I'd argue that the behavior here is unexpected.