fix handling of then chaining for PromiseMap and PromiseList