peek :: Parser Char
peek = failOnEOF >> (Parser $ \i@(x:_) l c -> Right (x, i, l, c))
peek :: Parser Char
peek = failOnEOF >> (Parser $ \i@(x:_) l c -> Right (x, i, l, c))
peek = failOnEOF >> (Parser $ \i@(x:_) l c -> Right (x, i, l, c))