code: function(arb, body, prev, next)
  {
      // thread_x_y is quite ugly, but it avoids making unnecessary js objects per arbiter.
      if(prev){
          // cpArbiterThreadForBody(prev, body)->next = next;
          if(prev.body_a === body) {
              prev.thread_a_next = next;
          } else {
              prev.thread_b_next = next;
          }
      } else if(body.arbiterList === arb){
          body.arbiterList = next;
      }
      
      if(next){
          // cpArbiterThreadForBody(next, body)->prev = prev;
          if(next.body_a === body){
              next.thread_a_prev = prev;
          } else {
              next.thread_b_prev = prev;
          }
      }
  }
docs: /*
  Arbiter.prototype.threadForBody = function(body)
  {
  return (this.body_a === body ? this.thread_a : this.thread_b);
  };