I think the following won't compile: ```scala val a = async(io.await) val b = async(io.await) ``` Since we use the same type name for everything. Macros may be doing some clever sanitization thing though which saves us.