et :: Variable -> Integer -> State -> State
set x n s = (x,n) : del x s
  where
    del _ [] = []
    del y (x:xs) | fst x == y = xs
                 | otherwise  = x : del y xs


------------------------- Input-Output streams

set :: Variable -> Integer -> State -> State
set x n s = (x,n) : del x s
  where
    del _ [] = []
    del y (x:xs) | fst x == y = xs
                 | otherwise  = x : del y xs


------------------------- Input-Output streams
set x n s = (x,n) : del x s
  where
    del _ [] = []
    del y (x:xs) | fst x == y = xs
                 | otherwise  = x : del y xs


------------------------- Input-Output streams