Many other similar functions and operators are available. Composing Lenses Use . and pretend you're using a more mainstream language: outerLens . innerLens. s = [Data.Map.singleton "bob" 7, Data.Map.fromList [("alice", 5), ("kerry", 8)], Data.Map.singleton "harry" 6] t = element 1 . at "kerry" .~ Just 42 $ s -- t = [Data.Map.singleton "bob" 7, -- Data.Map.fromList [("alice", 5), ("kerry", 42)], --