pub type LockResult<Guard> = Result<Guard, ()>;
Until poisoning is implemented, mutexes never return an error, and we just get back the guard.
enum LockResult<Guard> { Ok(Guard), Err(()), }
Contains the success value
Contains the error value