Should we have a `String.rev` in `Stdlib`?

You don’t want to create the reversed string for that.

You also don’t want to create the reversed string to just iterate the string in reverse order.
Note that those two use case suggest that the function that you really want is to_rev_seq.

Also, your first rev implementation

is far from ideal since char list is really inefficient in term of memory use compared to a string (and the sequence of character is traversed twice).