It just doesn’t have static types, it has strong types.
That difference gives you the flexibility to avoid circumstances where static typing can be a hindrance.
For the rest of it, you have a conversation where the benefits of full static typing don’t exist in a distributed environment. Example, you’re making function calls to other nodes in the cluster and the node is updated while your code is running potentially changing the function call. You won’t get the chance to do a contract exchange live with other nodes, recompile and examine results.
Instead, you have to pattern match on the parts you care about just like with an API call to a server you don’t control.
Even with Gleam, static typing only protects your node. In a distributed environment you can’t validate everything and on the BEAM everything is a distributed environment.
Once you accept this, you realize that the benefit of static typing simply doesn’t exist here.
https://elixir-lang.org/blog/2024/06/12/elixir-v1-17-0-relea...