how to compare two operators



In chapter 8 of The Maxima  Book there is an interesting example about "part 
hacking" (section 8.11) . That example does not work for me. I have a problem 
even in the simpler case , say
(C1) expr:x*y;
(D1)                                  x y
(C2) if part(expr,0)=}*} then 1 else 0;
(D2)                                   0
(C3) part(expr,0);
(D3)                                   *
The problem here is in  part(expr,0)=}*} . Note, such a syntax  was used in 
the book.  I've never seen the possibilty to use  }*}. Is documented 
somewhere? Sorry for stupid question, perhaps I overlooked some basics 
things.

Best regards,
Valerij