Question: Why don't these structured types work?

Why don't these structured types work? > type(Pi, symbol); > evalb(Pi::symbol); > type(Pi, constant); > evalb(Pi::constant); > type(x, symbol); > evalb(x::symbol); > type(x, constant); > evalb(x::constant); > type(Pi, symbol and not constant); > evalb(Pi::(symbol and not constant)); > type(x, symbol and not constant); > evalb(x::(symbol and not constant)); I know we can do it using TypeTools[AddType]( variable, t->evalb(t::symbol and not t::constant) ); but why doesn't the simple version work? Phil
Please Wait...