If we believe that the processes in Erlang/Elixir can communicate with each other only through message passing, we wouldn’t be entirely correct.
Erlang/OTP also brings Erlang Term Storage or ETS. ETS represents an in-memory key-value database that is part of the BEAM virtual machine. It’s not implemented in Erlang; instead, it’s built into the virtual machine itself. This means it’s written in C and optimized for concurrent reading and writing. Internally, it stores data that is mutable.