move' = foldl' move1'

origin' :: (Int, Int)
origin' = (3, 1)

positions' :: [[Direction]] -> [(Int, Int)]
positions' ds = scanl move' origin' ds

buttons' :: [[Direction]] -> [Char]
buttons' ds = map button' $ positions' ds

result2 =
  do t <- input
     -- t <- pure test :: IO Text
     case parseOnly directionSet t of