-- | Pop a value off the stack, will set an error if there is nothing on the stack.
--   Only useful with 'plugin'.
pop :: Exp String
pop = do v <- var; emit $ Pop v; return $ Value $ val v

-- | Push a value onto the stack. Only useful with 'plugin'.
pop :: Exp String
pop = do v <- var; emit $ Pop v; return $ Value $ val v

-- | Push a value onto the stack. Only useful with 'plugin'.
pop = do v <- var; emit $ Pop v; return $ Value $ val v

-- | Push a value onto the stack. Only useful with 'plugin'.