Below the major design decisions of this library are summarized.
     String s[:], s_temp;
      ...
     s_temp := s[i];
     s[i]   := s[j];
     s[j]   := s_temp;
     
Formally, three strings are copied. Due to the feature sketched
above, a Modelica tool can replace this copy operation by pointer
assignments, a very "cheap" operation. The Modelica.Utilities
functions will perform efficiently, if such types of optimizations
are supported by the tool.