Reimplementing the List data type
A binary search tree
Anatomy of a Type Class definition