Elixir is not strongly typed. You can bind any data type to a variable at any time.
For example doing "1" + 2 would give you an error.
OCaml takes it a step further with numbers where `+` only works on integers. You need to do `+.` to add floats. This lets it be statically typed without having to actually specify any types.
Again, a little out of my depth in terms of rock solid explanations.
I wasn't meaning to imply everything is perfect, though. For example equality operators take anything. I believe there may be changes coming around there.
https://thinkingelixir.com/elixir-in-the-type-system-quadran....