function after(thenable, callback) {
  const always = () => {
    try {
      return fulfillSoon(thenable.constructor, callback());
    } catch (e) {
      return rejectSoon(thenable.constructor, e);
    }
  };

  return thenable.then(always, always, CountingThenable);
}
Return a new `IThenable` chained after `thenable` with a delay of one tick.

@template T
@param {T} thenable
@param {function(...?): ?} callback
@return {T}