Optional
Using type-classes for optional function arguments.
Although this implements that which is available in other programming languages, and is a lot safer than in those environments, it is still of dubious morality. Use with care, question and caution.