Can we change this to `raise NoHandlerForType(a_source)` for a slightly better error message.