I had started exploring the internal - PS constructor route looking at the base64 encoding implementation by Bryan (which is really fast - http://www.serpentine.com/blog/2010/09/02/fast-base64-encoding-and-decoding-in-haskell/ )- I was wondering if we don't use the PS constructor can we implement base64 encoding that's comparable? I mean, can we create an asymptotically similar implementation?