optimise promise return in promise.forceChain