type waiter =
{ w_wait : unit Lwt.t;
w_waker: unit Lwt.u option;
mutable w_did_wait : bool }
と?に " unit
"がある理由がわかりません。w_wait
w_waker
Lwt のドキュメントによると、タイプ'a Lwt.t
は「タイプ 'a. の結果を返すスレッドのタイプ」であるため、w_wait
ユニットを返す協調スレッドです (つまり、副作用のみを持ちます)。「スレッドウェイクナーの種類」も同様'a Lwt.u
です。
Lwtのドキュメントであなたが理解していないことはわかりません。それは私にはかなり理解できるようです。