Scalaプログラマのためのバナナ,レンズ,封筒,有刺鉄線による関数型プログラミング 〜リストバナナ編〜

Functional Programming with Banas, Lenses, Envelopes and Barbed Wire という論文を読んだので,そこで書かれている内容を Scala で実装してみる.