Question: How to test if a variable is a dot-product of "anything"-s?

Hi. I need to test if a variable is a dot-product of "anything"-s (usually it is quantum operators).
I try the following

restart; 
with(Physics);
Physics:-Setup(mathematicalnotation = true);
Physics:-Setup(anticommutativeprefix = psi);
ap1 := Physics:-Creation(psi, 1, notation = explicit);
am1 := Physics:-Annihilation(psi, 1, notation = explicit);
ap2 := Physics:-Creation(psi, 2, notation = explicit);
am2 := Physics:-Annihilation(psi, 2, notation = explicit);

z1 := ap1.am1.ap2:
type(z1, ('`.`')(anything));

and get

false

whereas

z2 := a*b*c; 
type(z2, (':-`*`')(anything));

returns

true

I studied ?type,structured and other sources but didn't find any answer.

Please Wait...