If it works, it works. But it's hard enough to get lock invariants correct without rolling your own *locks* into the bargain...