title: SML Basis Library: what's the rationale for `ArraySlice.copyVec`?
body: <h2>Prior understanding</h2>
  <p>According to <a href="http://www.standardml.org/Basis/array-slice.html" rel="nofollow noreferrer">The ArraySlice structure</a> as reported by <em>standardml.org</em> (I don't have an SML 97 manual to check, only an SML 90 PDF manual), <code>ArraySlice.copyVec</code> gets an <code>Array.array</code> parameter as the destination, and not an <code>ArraySlice.slice</code> as one (or at least me) would intuitively expects. Of course, one can use <code>ArraySlice.base</code> to get an array and an index for respectively the <code>dst</code> and <code>di</code> parameters to <code>copyVec</code>. Surprisingly, <code>copyVec</code> from <code>ArraySlice</code>, does not even have a single parameter of type <code>ArraySlice.slice</code>. Fortunately, its <code>src</code> parameter is of type <code>VectorSlice.slice</code>, as intuitively expected.</p>
  <h2>The question</h2>
  <p>What's the rationale for <code>ArraySlice.copyVec</code>? Why doesn't it get an <code>ArraySlice.slice</code> as <code>dst</code>?</p>