let rec string_of_value v = match v with
        |N i1 -> "N " ^ (string_of_int i1)
        |R f1 -> "R " ^ (string_of_float f1)
        |Vec (size, vec) -> "Vec"
        |Zero -> "Zero"        
        |W -> "W"