 
 (s/defn add-updated-at
   [{:keys [section-name] :as section} :- common/Section ts]
+  "Add `:updated-at` key with `ts` as value to a given section.
+   If the sectino has a `:notes` key also add the timestamp there."
   (let [notes-section? (contains? common/notes-sections section-name)]
     (cond-> (assoc section :updated-at ts)
       (and notes-section? (:notes section)) (assoc-in [:notes :updated-at] ts))))
 
 (s/defn create-company!
   [company :- common/Company]
+  "Create a company document in RethinkDB. Add `updated-at` keys where necessary."
   (s/validate common/Company company) ; throw if invalid
-  (let [real-sections     (real-sections company)
-        ts                (common/current-timestamp)
-        rs-w-ts           (med/map-vals #(add-updated-at % ts) real-sections)]
+  (let [real-sections (real-sections company)
+        ts (common/current-timestamp)
+        rs-w-ts (med/map-vals #(add-updated-at % ts) real-sections)]
     (doseq [[_ section] real-sections]
       (common/create-resource common/section-table-name section ts))
     (common/create-resource table-name (merge company rs-w-ts) ts)))

    (merge company (into {} (map add-info rs)))))

(s/defn ->company :- common/Company
  [company-props user]
  (let [slug (or (:slug company-props) (slug/find-available-slug (:name company-props) (taken-slugs)))]
    (-> company-props

  {:pre [(string? slug)]}
  (common/read-resource table-name slug))

(defn placeholder-sections
  "Return a map of section-name -> section containing all
   placeholder sections in sections.json"
  [company-slug]
  (reduce (fn [s sec]
            (assoc s
                   (-> sec :name keyword)
