Added Haskell version.

I was hoping to lean more on the type system, rather than
going with the default map-of-sets data structure with
random sampling.  But, for a first go, this works.