I like that it’s easy to integrate with external applications, as well as internal ones. There are many different ways to implement an interface layer between Solidity contracts and any API or SDK. This can be confusing at first if you’re not familiar with all the options available.
In addition, there is no way to call functions without including the full contract address in your code (which has security implications). If this were possible then we could make calls directly from our front end…