&gt; the idea of dividing all possible types<p>There is no such division of types in Perl 6 in the normal CS sense of the word &quot;types&quot;.<p>There are several kinds (in the English sense, not CS sense) of data <i>containers</i>. Elements of these containers can be of any type (CS meaning).<p>&gt; just like the idea of functions caring about the context of their return value.<p>As the GP just said, Perl 6 dropped that.<p>&gt; Why the artificial scalar&#x2F;array dichotomy?<p>The distinction between singular and plural is natural, wired in to our brains, not artificial.<p>&gt; What is it that is so important about being able to distinguish variables holding scalar-like values and array-like values by punctuation, but it doesn&#x27;t matter that you can&#x27;t distinguish variables holding strings and integers by their punctuation?<p>As explained above, it&#x27;s not about the values but the containers. Strings and integers are data. Containers are not data.<p>&gt; And how can you be consistent about types that act like both scalars and arrays, like strings?<p>Perl treats strings as values.