I have the exact same opinion and like minikanren libraries in Scheme and Clojure for that reason. I always liked Prolog, it always felt like an awesome way to write certain aspects of a program, but always felt super awkward for the rest of the program. With this approach, you can write the bits that make sense in the style that most suits. That's a pretty nice thing to be able to do!