title: In Clojure how can I implement standard Clojure collection interfaces on my own records and types?
body: <p>I wish to create an abstraction which represents a database table, but which can be accessed using all the usual Clojure seq and conj and all that fancy stuff. Is there a protocol I need to add?</p>