Some nodes have both a “pure” and … well, I don’t know what the other kind are called, I’ll call it impure, but I think I made that up. Casts work the same way. The only difference is the ones with the execution pin (the impure ones) allow you to control what happens based on whether or not it failed. With a pure node, it just gets evaluated when it’s needed, in your case when the Branch gets to execution. This means that if it fails, you just access none, and you can’t do anything about it, since you can’t redirect execution based on it failing. In your case, this is perfectly fine, because the On Key Down function should never fire with an invalid In Key Event.