Add generic overload for IItemPromise.then()