processOutputs initialState (x:xs) accum =
  case x of
    Constant b' -> processOutputs initialState xs (accum ++ [Right b'])
    Input{keyState} ->
      let (resultValue, resultState) = runState keyState initialState in
        processOutputs resultState xs (accum ++ [Left resultValue])

-- In Bytes
--
processOutputs initialState (x:xs) accum =
  case x of
    Constant b' -> processOutputs initialState xs (accum ++ [Right b'])
    Input{keyState} ->
      let (resultValue, resultState) = runState keyState initialState in
        processOutputs resultState xs (accum ++ [Left resultValue])

-- In Bytes
--
processOutputs initialState (x:xs) accum =
  case x of
    Constant b' -> processOutputs initialState xs (accum ++ [Right b'])
    Input{keyState} ->
      let (resultValue, resultState) = runState keyState initialState in
        processOutputs resultState xs (accum ++ [Left resultValue])

-- In Bytes
--