Catch Me If You Can - Looking for Type-Safe, Hierarchical, Lightweight, Polymorphic and Efficient Error Management in OCaml. - David Teller; Arnaud Spiwack; Till Varoquaux (IFL, 2008)