function deliver(curr, state, name, value) {
  if (curr.state === STATE_PENDING) {
    curr.state = state;
    /*  [Promises/A+ 2.1.2.1, 2.1.3.1]  */

    curr[name] = value;
    /*  [Promises/A+ 2.1.2.2, 2.1.3.2]  */

    execute(curr);
  }

  return curr;
}
function deliver(curr, state, name, value) {
  if (curr.state === STATE_PENDING) {
    curr.state = state;
    /*  [Promises/A+ 2.1.2.1, 2.1.3.1]  */

    curr[name] = value;
    /*  [Promises/A+ 2.1.2.2, 2.1.3.2]  */

    execute(curr);
  }

  return curr;
}
function deliver ( curr , state , name , value ) { if ( curr . state === STATE_PENDING ) { curr . state = state ; /*  [Promises/A+ 2.1.2.1, 2.1.3.1]  */ curr [ name ] = value ; /*  [Promises/A+ 2.1.2.2, 2.1.3.2]  */ execute ( curr ) ; } return curr ; }
/*  deliver an action
/ * deliver an action
Deliver a new value to the next node in the chain