Erlang uses pattern matching rather than variable assignment. When using the = symbol in Erlang, it matches the left-hand side to the right-hand side rather than assigning a value. This means a variable can only be matched once - a bound variable cannot be reused like in other languages. So a statement like A = A + 1 would generate an error, as it is trying to match the already bound variable A to a new value.