core.async is a thing of beauty