                                       (= (first path) (:mutation-root-name s)))) :root-field)))
 
 (defmethod spec-for-field :fragment-child
-  "Child fields of named and inline fragments jump out of the nesting path to the top level"
+  ;; Child fields of named and inline fragments jump out of the nesting path to the top level
   [{:keys [v/path v/parent]} _ s]
   (let [parent-type-name (name (:base-spec parent))
         spec             (named-spec s [parent-type-name (last path)])

;; Multimethod to decomplect getting base-spec and parent-type-name for fields

(defmulti spec-for-field
  "Handle children of fragments, lists, and root fields differently"
  (fn [{:keys [v/path v/parent]} parent-node s]
    (cond (#{:fragment-definition :inline-fragment} (:node-type parent))         :fragment-child
          (= :LIST (:kind parent-node))                                          :list-child

    {:n spec :m {:base-spec base-spec :parent-type-name parent-type-name}}))

(defmethod spec-for-field :list-child
  ;; Child fields of list types need to be unwrapped to get to the parent and base types
  [{:keys [v/path]} parent-node s]
  (let [{:keys [type-name inner-type]} parent-node
        parent-type-name (or (:type-name inner-type) type-name) ;; TODO multiple levels of nesting?
