result2 =
  runEitherT $
  do i <- EitherT (parseOnly (parser `sepBy` endOfLine) <$> input)
     -- let s = "decab"
     -- let s = "bdfhgeca"
     let s = "fbgdceah"
     pure (foldl' invert s (reverse i))
result2 =
  runEitherT $
  do i <- EitherT (parseOnly (parser `sepBy` endOfLine) <$> input)
     -- let s = "decab"
     -- let s = "bdfhgeca"
     let s = "fbgdceah"
     pure (foldl' invert s (reverse i))
result2 =
  runEitherT $
  do i <- EitherT (parseOnly (parser `sepBy` endOfLine) <$> input)
     -- let s = "decab"
     -- let s = "bdfhgeca"
     let s = "fbgdceah"
     pure (foldl' invert s (reverse i))