add response envelope middleware
refactor: assoc-map
refactor: uri
refactor: mapcat, etc.