A Dining Philosphers solver to learn `core.async`