This is a strict version of the Get monad from the binary
package. It's pretty much just a copy and paste job from the original
source code. The binary team are currently unsure about their future
plans w.r.t. strictness, so this is just a stop gap measure. See
http://www.haskell.org/haskellwiki/DealingWithBinaryData for
documentation.