let string_of_value (v: value) = match v with
          I(n)   ->  "INT: "^(string_of_int n)
        | F(r)   ->  "REAL: "^(string_of_float r)