Shamelessly stolen from Nate Foster.

  author = {Alexandre Pilkiewicz and Fran├žois Pottier},
  title = {The Essence of Monotonic State},
  booktitle = {Proceedings of the Sixth {ACM} {SIGPLAN} Workshop on
                 Types in Language Design and Implementation (TLDI'11)},
  month = JAN,
  year = {2011},
  address = {Austin, Texas},
  pdf = {http://pauillac.inria.fr/~pilkiewi/papers/tldi11.pdf}
  abstract = {We extend a static type-and-capability system with new
                 mechanisms for expressing the promise that a certain
                 abstract value evolves monotonically with time; for
                 enforcing this promise; and for taking advantage of
                 this promise to establish non-trivial properties of
                 programs. These mechanisms are independent of the
                 treatment of mutable state, but combine with it to
                 offer a flexible account of ``monotonic state''.\par We
                 apply these mechanisms to solve two reasoning
                 challenges that involve mutable state. First, we show
                 how an implementation of thunks in terms of references
                 can be assigned types that reflect time complexity
                 properties, in the style of Danielsson (2008). Second,
                 we show how an implementation of hash-consing can be
                 assigned a specification that conceals the existence of
                 an internal state yet guarantees that two pieces of
                 input data receive the same hash code if and only if
                 they are equal.}

  AUTHOR = {J. Nathan Foster and Alexandre Pilkiewicz and Benjamin C. Pierce},
  TITLE = {Quotient Lenses},
  BOOKTITLE = {ACM {SIGPLAN} {I}nternational {C}onference on {F}unctional {P}rogramming ({ICFP}), Victoria, BC},
  YEAR = 2008,
  PAGES = {383--395},
  CONF = {http://pauillac.inria.fr/~pilkiewi/papers/quotient-lenses.pdf},
  TR = {http://repository.upenn.edu/cgi/viewcontent.cgi?article=1946&context=cis_reports},

  AUTHOR = {Aaron Bohannon and J. Nathan Foster and Benjamin C. Pierce and Alexandre Pilkiewicz and Alan Schmitt},
  TITLE = {Boomerang: Resourceful Lenses for String Data},
  BOOKTITLE = {ACM {SIGPLAN--SIGACT} {S}ymposium on {P}rinciples of {P}rogramming {L}anguages ({POPL}), San Francisco, CA},
  YEAR = 2008,
  PAGES = {407--419},
  CONF = {http://pauillac.inria.fr/~pilkiewi/papers/boomerang.pdf },
  TR = {http://pauillac.inria.fr/~pilkiewi/papers/boomerang-tr.pdf },