Handle is something you get when you acquire a resource and you use the handle to
release the resource.
Handle lifetime corresponds to a particular resource activation.
val create : release:(unit ‑> unit Async_kernel.Deferred.t) ‑> tval release : t ‑> unit Async_kernel.Deferred.tRuns the clean-up action unless it has already been started. The result becomes determined whenever the cleanup action completes.