I have found a second way to complete exercise 3 with a mutex
semaphore.. I'm reasonably sure that my implemention is wrong or at
least not what we're looking for, but all tests run green. So whoever
wrote those tests must have sucked at writing tests.