1. Is the lack of dynamic binding of functions by design or because it was too much effort to be justified at the time the language was designed? In object oriented programming there can be several implementations of the same interface, and they can be stored in the same collection. 2. It seems to me that the Maybe monad is a poor substitute for exception handling because the functions that raise errors may not necessarily support it. For example, if I use someone elses custom type and a custom map function theirmap myApplicator SomeList and theirmap is not designed to support the Maybe monad, then it becomes hard to use if SomeFunction might raise an error. Am I missing something? Doug Ransom Systems Engineer Power Measurement Ltd. http://www.pml.com 250-652-7100 office 250-652-0411 fax mailto:doug_ransom@pml.com