Hi, What's with the weird, convoluted way one is supposed to use core.sync.condition.Condition? Having to lock on a mutex while using a Condition object is extremely weird compared to APIs in other programming languages. Any particular reason behind this design? Regards, Alex