fix bounds of List.patch()
more consistent defn of List.prepend()/append()