Redefining variable type in child class

This is SO true. I fell into this trap when I first came to Godot, and I see so many experienced developers do the same thing. One ends up creating things that Godot handles in other ways, and much more elegantly.

I talk about my process in this post:

And if you read it, you’ll see where I refactor as I go. It prevents Future Proofing.

I always recommend following a tutorial exactly as it is presented, and then re-implementing it yourself afterwards. It helps reinforce the learning, prevents issues with things not working because you changed something you didn’t realize was important, and makes the tutorial go faster. Keep what you want, discard the rest.