Process.Pi
module type PROCESS = sig ... end
type Resource.pi +=
| Process : ('t,
(module PROCESS
with type t = 't
and type tag = 'tag),
[> 'tag ty ])
Resource.pi
val process :
(module PROCESS with type t = 't and type tag = 'tag) ->
('t, 'tag ty) Resource.handler
module type MGR = sig ... end
type Resource.pi +=
| Mgr : ('t, (module MGR with type t = 't and type tag = 'tag), [> 'tag mgr_ty ])
Resource.pi
val mgr :
(module MGR with type t = 't and type tag = 'tag) ->
('t, 'tag mgr_ty) Resource.handler