What would be the equivalent to this in Haskell (with or without lens):
cat = Cat(age=3)
l = [1, [2, cat], 4]
alt l[1][1].age.=9
That would give us l equal to: [1, [2, Cat(age=9)], 4]