Typeclass that defines a Lens from an S to an A at an index I
S
A
I
target of Lens, A is supposed to be unique for a given pair (S, I)
(S, I)
index
source of Lens