&gt; on the other hand it forces you to think more about whether you actually need to do something (&quot;should this string ever be more than X bytes long? Maybe not, might as well use fixed-size array - but I should not forget to check that length!&quot;), which I think is overall a good thing.<p>While that certainly can&#x27;t be a <i>bad</i> thing, you just have to keep in mind that it forces you to think about a specific set of details – the ones that matter for the machine (&quot;how many bytes will the binary representation of this username require&quot;) – and it may fool you into forgetting to think about higher-level concerns (&quot;Does å compare equally to å?&quot;).