title: What are the function-call/procedure-call pairs in GAP?
body: <p>By <a href="https://www.gap-system.org/Manuals/doc/ref/chap4.html#X78C70489791FDF43" rel="nofollow noreferrer">function-call</a>/<a href="https://www.gap-system.org/Manuals/doc/ref/chap4.html#X825803DE78251DA6" rel="nofollow noreferrer">procedure-call</a> pairs, I mean pairs of functions that <em>do</em> the same thing, except one returns it's result whereas the other alters it's argument(s) to be the result. For example the pair <code>List</code>/<code>Apply</code>.</p>
  <ul>
  <li><code>List(list, func)</code> Returns the list resulting from applying the function <code>func</code> to every value of <code>list</code>.</li>
  <li><code>Apply(list, func)</code> Applies the function <code>func</code> to every value of a mutable list <code>list</code>, changing <code>list</code>.</li>
  </ul>
  <p>I've become annoyed of writing my own functions to find that GAP already had a built in version I should be using, so it'd help to know these pairs. Like, does <code>Filtered</code> have a procedural counterpart I don't know about? Or do I need to write my own? If a function <em>does</em> have a counterpart will it necessarily be listed in the documentation for that function? The only other such pair that I can think of right now is <code>Concatenation</code>/<code>Append</code>. What are other such pairs of functions/procedures in GAP?</p>