method get (f:'a->'b) (x:'a) = try 
        begin
         let y=(Hashtbl.find current x) in 
         (if trace then (prerr_endline ("Memo.call: value found for key "^(sok x))); y) 
        end
     with Not_found -> 
        begin
         if trace then prerr_endline ("Memo.call: using function for key "^(sok x)); 
               let y = (f x) in 
          ((Hashtbl.replace current x y); y)
             end