eval :: Program -> Value -> Value
eval (Program arg body) val = eval1 (Map.singleton arg val) body
eval :: Program -> Value -> Value
eval (Program arg body) val = eval1 (Map.singleton arg val) body
eval (Program arg body) val = eval1 (Map.singleton arg val) body