inspectResponse :: Handle -> Ptr Header 
                -> IO (S.ByteString, S.ByteString, L.ByteString)
inspectResponse h p = do
    el <- getExtraLength p
    kl <- getKeyLength   p
    tl <- getTotalLength p
    e <- S.hGet h $ fromIntegral el
    k <- S.hGet h $ fromIntegral kl
    v <- L.hGet h $ fromIntegral tl - fromIntegral el - fromIntegral kl
    return (e,k,v)
inspectResponse :: Handle -> Ptr Header 
                -> IO (S.ByteString, S.ByteString, L.ByteString)
inspectResponse h p = do
    el <- getExtraLength p
    kl <- getKeyLength   p
    tl <- getTotalLength p
    e <- S.hGet h $ fromIntegral el
    k <- S.hGet h $ fromIntegral kl
    v <- L.hGet h $ fromIntegral tl - fromIntegral el - fromIntegral kl
    return (e,k,v)
inspectResponse h p = do
    el <- getExtraLength p
    kl <- getKeyLength   p
    tl <- getTotalLength p
    e <- S.hGet h $ fromIntegral el
    k <- S.hGet h $ fromIntegral kl
    v <- L.hGet h $ fromIntegral tl - fromIntegral el - fromIntegral kl
    return (e,k,v)