reject lock() if unlock() was called while waiting
Lock can now indicate state of previous lock holder