Polymorphic random sampling of Haskell containers