Sometimes I think something is impossible. Then I build a prototype.
Usually the prototype ends up cheating in some way. It may not do everything I want, and it might cut corners. But having a working prototype helps me to better understand what I really want.
It’s not that the impossible has suddenly become possible. Rather, it often turns out that the “impossible” problem can be successfully tackled if you reframe it in some subtle way.
Essentially, there is often a meaningful connection between the unattainable original goal and a similar solution that is effectively the same, and yet is indeed attainable.
Without building a prototype, I would never discover that attainable solution.