doInstruction s (Reverse x y) = take x s
                              ++ reverse (take (y-x + 1) (drop x s))
                              ++ drop (y+1) s
doInstruction s (Reverse x y) = take x s
                              ++ reverse (take (y-x + 1) (drop x s))
                              ++ drop (y+1) s
doInstruction s (Reverse x y) = take x s
                              ++ reverse (take (y-x + 1) (drop x s))
                              ++ drop (y+1) s