let lookup env var ty =
let generalized,def = List.assoc var env in
let v = instantiate ~generalized def in
if debug then
Printf.eprintf
"Runtime instantiation of %s: %s targets %s.\n"
var
(T.print ~generalized def.V.t)
(T.print ty) ;
v.V.t <: ty ;
if debug then
Printf.eprintf
"Runtime instantiation of %s: %s becomes %s.\n"
var
(T.print ~generalized def.V.t)
(T.print v.V.t) ;
v