And languages with multiple function definitions for different arguments are even better
def(arg = value_0) { ... }
def(arg = value_1) { ... }
def(arg = value_2) { ... }
def(arg) { ... }
Example: Elixir.