On 18/11/13 15:37, Sean Leather wrote:...
> Examples
> include debugging (yours), implementing functions not included in the
> library (e.g. this comes up sometimes with Data.Map/Data.Set), and
> optimization.
These two points you give seem very contradicting.
> In the case of DList, the underlying type is so simple
> that exposing it does not add enough value to warrant a second module.
From my experience, whatever it is, in the end somebody wants to give an
instance to it.
I would therefore vote to expose internals of *all* data types exposed.
Not doing so is assuming the ability to foretell everything a user will
ever do with it, which is never true.