functor
(
X
:
sig
val
top : v
val
narrow : v
->
v
->
v
end
)
->
sig
val
narrow : t
->
t
->
t
end