#
**Let's learn about lenses** — August 21, 2018

```
type Lens s t a b =
forall f. Functor f =>
(a -> f b) -> s -> f t
_1 :: Lens (a, c) (b, c) a b
_1 = _
_2 :: Lens (c, a) (c, b) a b
_2 = _
```

Gaining an understanding of the `Lens`

type has been on my todo list for a long time. So I finally bit the bullet and read up a little. These are (more or less) my notes as I went along.