clj source edn handling functions