This note: Source and destination must share the same execution context. I don't think Asio resolvers have this restriction. Is there a strong reason for this?