Added Promises heterogeneous when