1
Lenses are not always better:
(kbin.social)
That's not really an argument against lenses so much as an argument against extreme point-free style.
fresh :: FDState s c -> (Int, FDState s c)
fresh s = (i, inc_s & alive %~ Set.insert i)
where (i, inc_s) = s & nextID <<+~ 1
Edit: Fixed some of the operators being replaced with HTML entities. Edit 2: Hmm, they keep showing up fine in Preview but then getting replaced again. I'm not sure what I'm supposed to do to make them work.
**The Haskell programming language community.** Daily news and info about all things Haskell related: practical stuff, theory, types, libraries, jobs, patches, releases, events and conferences and more... ### Links - Get Started with Haskell