	procedure insert( key : typekey; var t : tree );
    begin
    if t = nil then
            t := NewNode( key, nil, nil )
    else if t^.k = key then
            Error {*** Key already in table ***}
    else if t^.k < key then insert( key, t^.right )
        else                insert( key, t^.left )
    end;
