Modified the classes [visitor] and [map] so that the case methods
are uncurried.
Added an interesting hack (which involves magic) in the visitor.
Explicit sequencing in [map].
Introduced a new class [visitor_with_binding] so as to obtain
[map] and [iter] as two trivial sub-classes.