async: add #stream support