/*
 * Return the Node's _rest_ member.  The return type is
 * either a Node or an Object.
 */
static VALUE node_rest(VALUE self)
{
  NODE * n;
  Data_Get_Struct(self, NODE, n);

  if(TYPE(n->nd_rest) == T_NODE)
  {
    if(0 && nd_type(n) == NODE_OP_ASGN2)
    {
      return wrap_node_as(
        (NODE *)n->nd_rest,
        rb_cNodeSubclass[NODE_OP_ASGN2_ARG]);
    }
    else
    {
      return wrap_node((NODE *)n->nd_rest);
    }
  }
  else
  {
    return (VALUE)n->nd_rest;
  }
}