Lwt cooperative cancellation vs Async with_timeout for reliable file descriptor closure on timeout
Goal: ensure that when a timeout occurs, any opened file descriptor is closed reliably without leaking resources. Constraints: Lwt cancellation is cooperative and may not interrupt a blocking system call, so cleanup depends on the operation yielding; Async's with_timeout uses finalizers that may run after the deferred is already resolved, leaving a window wh