Does this implementation support promises for promises? It doesn't look like it on the surface. If not, then "or another promise" seems misleading here.