This seems plausible: ```rust impl OnceCell<T> { /// Blocks until the cell is populated fn wait(&self) -> &T {} } ``` The implementaiton should basically stuff the current thread into the waiters list, without attempting to set the value.