The iterator facade documention suggests that controlled conversion of iterators
between const and mutable variants can be achieved by application of enable_if.

Why does this need to involve an additional 'enabler' type, rather than exploiting
the default void type of the enable_if template?

Thx,

- Rob.