type 'a t = ([> `Mem_fd ] as 'a) Eio.Resource.t type ('t, _, _) Eio.Resource.pi += | T : ('t, 't -> Low_level.Fd.t, [> `Mem_fd ]) Eio.Resource.pi let fd (Eio.Resource.T (t, ops)) = Eio.Resource.get ops T t let fd_opt (Eio.Resource.T (t, ops)) = match Eio.Resource.get_opt ops T with Some f -> Some (f t) | None -> None