To see the results of these ghci interactions on your own machine, run: [bash] BlogLiterately -g examples/test.lhs > test.html && firefox test.html > {-# LANGUAGE TemplateHaskell #-} > import Lens.Family2 > import Lens.Family2.TH > data Pair a b = Pair { _pairL :: a, _pairR :: b } > deriving (Eq, Show, Read, Ord) > $(makeLenses ''Pair) [ghci] let p = Pair '1' 1 :: Pair Char Int p ^. pairL p ^. pairR :m +Data.Char (pairL %~ digitToInt) p (pairR %~ intToDigit) p (pairL .~ "foo") p (pairR .~ "bar") p