Throughout the new condition module, the type parameter U is bounded by Copy. Is this restriction necessary? It's preventing me from using the condition system with a function that returns a struct containing owned pointers without a bunch of type parameter instantiation warnings.
The type parameter V on the in method of Trap has the same restriction.