runGetEither :: Get a -> BL.ByteString -> Either String a
runGetEither get bs = case runGetOrFail get bs of
    Left (_,_,strError) -> Left strError
    Right (_,_,x)       -> Right x

-- Return the first parameter, if it's Nothing, return the second parameter
-- This something similar to an OR for Maybe values
runGetEither :: Get a -> BL.ByteString -> Either String a
runGetEither get bs = case runGetOrFail get bs of
    Left (_,_,strError) -> Left strError
    Right (_,_,x)       -> Right x

-- Return the first parameter, if it's Nothing, return the second parameter
-- This something similar to an OR for Maybe values
runGetEither get bs = case runGetOrFail get bs of
    Left (_,_,strError) -> Left strError
    Right (_,_,x)       -> Right x

-- Return the first parameter, if it's Nothing, return the second parameter
-- This something similar to an OR for Maybe values