Extend and Comonad answers.
Most of the way through ListZipper