Anonymous Mar 18, 2025 9:35 pmYou say in your article:"I liked this because I often forget my own key conventions in programs that I’ve worked on for a long time, I occasionally mistype keys, etc. Implementing this in functions is a great way to enforce consistency."I'd think that this is the way to ensure that the code's inconsistencies will never be fixed and will grow as time goes on - stumble upon one and just add another clause to your accessor. After a while no-one will be able to read your data.Since data is at the heart of Clojure programming, inconsistencies lead to misunderstanding the data and, thus, the program - do :id and :trello-card/id have subtle differences? If not, why name them differently?The best way to deal with this is to use tools like spec or malli to find and remove these flaws permanently (Even better would have been using them from the start so that the data inconsistency issues would not have arisen). This way, the data and code will be more understandable and won't raise nagging questions when a person, rather than a machine, reads it and doesn't stumble upon your accessor or its calls before seeing your data.This is a problem with LLM suggestions - they lead to immediate relief, but the long-term consequences are often less than optimal. Reply