In your first pic I see a problem.
The whole point of those chains of cast nodes is to do this kind of thing:
is it an X?
no - ok, is it a Y?
no - ok, is it a Z?..
So, you’re going through all the possible things it could be. When a cast fails, you try the next type of cast, and so on.
The problem is you’re going on to the next type of cast when it succeeds! See here:
Is it a desk? no then is it a Ingre?
But you taken the ‘yes is it a desk’ link and plugged it into the Ingre test. Of course it’s not an Ingre, because it’s already a desk!
Do you get it?