Does reitit becoming the default imply that ataraxy is kind of defunct? Also, tangentially related: I've seen mention of ataraxy being bidirectional, but can't find any indication of how to do reverse routing with it (beyond figuring out myself how to invert the data structure). Is this not meant to be part of the feature set, or just something that hasn't been added? Is there any reason to consider ataraxy in place of reitit?
Ataraxy is not currently bidirectional, as far as I can recall. Reitit currently has more features and is more battle tested, so I went with that for Duct. I may return to Ataraxy in future, but for now I think Reitit is the better default choice.
I see. For whatever reason, ataraxy's data structures feel more intuitive to me, especially with respect to how it handles coercion and destructuring of requests. There are so many bells and whistles and knobs in reitit that it feels non-trivial to do what, in my mind, is a trivial thing: treat the id in /foo/1 as an int
I'm biased obviously, but I also prefer Ataraxy's syntax. As you point out, it's a lot more concise for common use cases. However, Reitit is more mature and has more features, and there's enough to work on that I need to choose my battles.
Perhaps the answer is to make Ataraxy transform its syntax into Reitit's. But that's a future project.