Converting "at the point of use" is also a performance hit, since `re-pattern` does regex compilation, which should only happen once, especially when reusing a regex.
I'm current use case is to categorise a stream of string via a curated list of ~18000 regex-to-category mappings, which doesn't change frequently.
It's very much desirable to keep those 18000 regexes compiled, otherwise doing a `re-find` on them against ~6000 strings takes 21s instead of 9.5s. If I `(memoize re-pattern)`, it takes 26s.
Not having regex equality, at least based on the string they were created from, just makes writing tests quite painful too.
On one hand regexes feel like a 1st class citizen of Clojure, since they even have their built-in literal syntax, can be used as hash-map keys, but then they brake down when it comes to equality.
If a `java.util.regex.Pattern` is compiled from the same string, the resulting object will behave the same way, so it's safe to be considered equal.
I fail to see how is it relevant that different regex strings might result in the same matching behaviour. We are talking about the `=` operator, not a `does-it-behave-the-same?` operator... :/
What would be the use-case for detecting whether a regex object instance is the same as another one?