This indeed was my issue.
I so far never thought about this kind of mixing expressions, since I find them terribly unreadable.
Also I would rather write
!(is Person mike)
// or, in the unsupported syntax:
!(mike is Person)
and introduce parenthesis for readability. I am aware you can't enforce this though. And introducing the keyword
isnot wouldn't probably be the best way either.
Well, I suppose I will have to live with this kind of syntax and ignore my grammar sense tingling all the time :)
But thanks for the clarification.