pop :: Int -> GMState -> GMState
pop n state = putStack stack' state
    where
    stack' = drop n (getStack state)
pop :: Int -> GMState -> GMState
pop n state = putStack stack' state
    where
    stack' = drop n (getStack state)
pop n state = putStack stack' state
    where
    stack' = drop n (getStack state)