Using an `MVar` as a lock is a common pattern. This module just wraps that up into some functions with nice names that make the pattern explicit.