another thing is that routes (in ktor) do not require specific order of matching, e.g. you can have "path -> method -> query” or “method -> path -> query” or “query -> path -> method”, whatever. So trie becomes a little bit more complicated and we may need broader search with matching candidates that we will then sort by “q-values” and select best match. It still can be much faster than linear, because we can skip a lot of branches, and we don’t need to split strings to make a match.