and i am guessing the following code is considered allocation dry to get any results... `import std/nimprof import std/strutils proc letters() = echo("Found letter") proc numbers() = echo("Found number") proc different() = echo("Found something else") proc analyse(data: string) = var index = 0 while index < data.len: case data[index] of Letters: letters() of {'0' .. '9'}: numbers() else: different() index.inc for index in 0 .. 1000: analyse("uyguhijkmnbreadv44354gasuygi456donkey456uiolkno,.,Ochyqudsayd12635uha ")`