Module File.Pi

module type READ = sig ... end
module type WRITE = sig ... end
type Resource.pi +=
  1. | Read : ('t, (module READ with type t = 't), [> ro_ty ]) Resource.pi
  2. | Write : ('t, (module WRITE with type t = 't), [> rw_ty ]) Resource.pi
val ro : (module READ with type t = 't) -> ('t, ro_ty) Resource.handler
val rw : (module WRITE with type t = 't) -> ('t, rw_ty) Resource.handler