slide :: Int -> GMState -> GMState
slide n state = putStack (a: drop n as) state
    where 
    (a:as) = getStack state
slide :: Int -> GMState -> GMState
slide n state = putStack (a: drop n as) state
    where 
    (a:as) = getStack state
slide n state = putStack (a: drop n as) state
    where 
    (a:as) = getStack state