switched to using keywords everywhere (which meant switching get-doc
fields and source and mappings)
more tests for async futures