decodeAsList (Right strs) = case mapM decode strs of
    Left decodeErr -> return $ Left (Error $ encode decodeErr)
    Right vals     -> return $ Right vals
decodeAsList (Right strs) = case mapM decode strs of
    Left decodeErr -> return $ Left (Error $ encode decodeErr)
    Right vals     -> return $ Right vals
decodeAsList (Right strs) = case mapM decode strs of
    Left decodeErr -> return $ Left (Error $ encode decodeErr)
    Right vals     -> return $ Right vals