    tree insert( key, t )
    typekey key;
    tree t;
    
    { if( t == NULL ) { 
             t = NewNode( key, NULL, NULL );  
             t->weight = 2; 
      }
      else if( t->k == key )
             Error; /*** Key already in table ***/
      else { if( t->k < key ) t->right = insert( key, t->right );
                        else  t->left  = insert( key, t->left );
             t->weight = wt( t->left ) + wt( t->right );
             t = checkrots( t );
           }
      return( t );
    }
