Erlang Language iolists Be careful with improper lists


Example

["Guten tag " | <<"Hello">>].

In the shell this will be printed as ["Guten tag "|<<"Hello">>] instead of ["Guten tag ",<<"Hello">>]. The pipe operator will create an improper list if the last element on the right is not a list. While an improper list whose "tail" is a binary is still a valid iolist, improper lists can cause issues because many recursive functions expect an empty list to be the last element, and not, as in this case a binary.