I'm sure this is a perfectly fine mux but I'm a bit puzzled as to why Go developers seem to constantly want to invent their own server mux. There's at least 10 I can think of, most with overlapping feature sets.
Though it's definitely interesting to do this as an exercise to also understand how this is all wired together in Go, I do wonder why people expense effort in writing, or at least maintaining, their own over leveraging and contributing to an existing one, like (fast)httprouter, Chi, Gorilla Mux? Just about every other one is implemented as a (radix) tree too.
I'm sure this is a perfectly fine mux but I'm a bit puzzled as to why Go developers seem to constantly want to invent their own server mux. There's at least 10 I can think of, most with overlapping feature sets.