Why not promise.failure ?