-- | pop an argument from the stack, push onto argument stack
getArg check = do
  force
  x <- popStack
  guard $ check x
  pushArg x
getArg check = do
  force
  x <- popStack
  guard $ check x
  pushArg x
getArg check = do
  force
  x <- popStack
  guard $ check x
  pushArg x