`lock` will block if the lock is taken, `tryLock` will return `false`. I think merging them will just result in a bigger mess due to the small differences.