ZE.get_entity f uri
| Z.Bind (l, id, Z.Abbr v, t) ->
let f xv xt tt =
ZE.get_entity f uri
| Z.Bind (l, id, Z.Abbr v, t) ->
let f xv xt tt =
type_of f st c v
| Z.Bind (l, id, Z.Abst u, t) ->
let f xu xt tt =
type_of f st c v
| Z.Bind (l, id, Z.Abst u, t) ->
let f xu xt tt =
in
let f xu cc = b_type_of (f xu) st cc t in
let f xu _ = Z.push "type abst" (f xu) c l id (Z.Abst xu) in
type_of f st c u
| Z.Bind (l, id, Z.Void, t) ->
let f xt tt =
in
let f xu cc = b_type_of (f xu) st cc t in
let f xu _ = Z.push "type abst" (f xu) c l id (Z.Abst xu) in
type_of f st c u
| Z.Bind (l, id, Z.Void, t) ->
let f xt tt =