Hey @Ahmed, I read the link and all the related links, it is very interesting, I have never gone deep on this. But for the use, I prefer to keep things simple with the use of the `instanceof` operator instead. Since the only way to create an instance of `InputNavigation` is using the `new` keyword, using `instanceof` will perfectly fits our needs.

What do you think? If in the future it becomes a need then we can reconsider to add the toType function.