Examples from book  "Types and Programming Languages"