More tricks with rules -- methods do Price(obj) as 0 do Price(obj) as 10 if (obj ofclass Treasure) do Price(obj) as { total = 0; foreach X in obj total += Price(X); return total; } if (obj ofclass Container)