Getting
("a", 1) ^. _1 -- returns "a" ("a", 1) ^. _2 -- returns 1
Setting
("a", 1) & _1 .~ "b" -- returns ("b", 1)
Modifying
("a", 1) & _2 %~ (+1) -- returns ("a", 2)
both Traversal
both
(1, 2) & both *~ 2 -- returns (2, 4)