title: ByteString encoding detection
body: <p>As an exercise, I want to write an XML parser (I know there are lots of really good libraries out there, but I want to try it myself).  I understand that <code>ByteString.Lazy</code> is probably the best option for any xml file sufficiently large because in memory, plain strings are lists of unicode points.  My question is: should I use <code>Data.Text.Lazy.Encoding.decodeUtf8With</code> as a pre-processor or simply pass encoding detection straight to the parser?</p>