I'm always saying that but `strutils` is the biggest performance trap of Nim.
The operations always return a new string which makes it easy to compose and very very heavy on the memory management. Python and Javascript have heavy optimizations done from string and fast string manipulation in Nim requires one to avoid most `strutils` proc and instead modify already existing string in-place. Hopefully a library that compose string transformations in a reasonable manner while being as efficient as low-level in-place mutations of string will be possible once we have openarrays as value ([https://github.com/nim-lang/RFCs/issues/178#issuecomment-583830275](https://github.com/nim-lang/RFCs/issues/178#issuecomment-583830275))
