It means that the types are built on unions, intersections, and negations[1]. It's a polymorphic type system with inference at the function level. It also does some type narrowing with pattern matching.
[1] https://www.irif.fr/_media/users/gduboc/elixir-types.pdf