Extra tools for use with core.async