code: function then (onFulfilled, onRejected) {
              if (this._s === undefined) throw genTypeError();
  
              return addHandler(
                  this,
                  newCapablePromise(speciesConstructor(this, Yaku)),
                  onFulfilled,
                  onRejected
              );
          }
docs: Appends fulfillment and rejection handlers to the promise,
  and returns a new promise resolving to the return value of the called handler.
  @param  {Function} onFulfilled Optional. Called when the Promise is resolved.
  @param  {Function} onRejected  Optional. Called when the Promise is rejected.
  @return {Yaku} It will return a new Yaku which will resolve or reject after
  @example
  the current Promise.
  ```js
  var Promise = require('yaku');
  var p = Promise.resolve(10);
  
  p.then((v) => {
  console.log(v);
  });
  ```