Nice breakdown of EVM, opcodes, and function calls — really helpful for grasping how low-level contract interactions work! Just a heads-up though: some of the code snippets aren’t rendering properly, so a quick fix there would make the article even smoother to follow. Also, curious — how would this approach change if calling an external contract instead of address(this)