 
                 (when (= "patternRec" (:type fst-destruct-variable))
                   (map (fn [field]
-                        (when (get-field-def (:value field))
-                          (let [{:keys [location doc signatureRaw]} (get-field-def (:value field)) ]
-                            {:value (str (:value adtCandidate) "." (:value field))
-                             :candidate (:value field)
-                             :package (:package adtCandidate)
-                             :file (:file adtCandidate)
-                             :doc signatureRaw
-                             :location location
-                             :module-name (:module-name adtCandidate)})))
-                      (-> fst-destruct-variable :patterns)))
+                         (when (get-field-def (:value field))
+                           (let [{:keys [location doc signatureRaw]} (get-field-def (:value field)) ]
+                             {:value (str (:value adtCandidate) "." (:value field))
+                              :candidate (:value field)
+                              :package (:package adtCandidate)
+                              :file (:file adtCandidate)
+                              :doc signatureRaw
+                              :location location
+                              :module-name (:module-name adtCandidate)})))
+                       (-> fst-destruct-variable :patterns)))
 
                 (when (= "patternBracket" (:type fst-destruct-variable))
                   (map (fn [field]
-                        (when (get-field-def (:value field))
-                          (let [{:keys [location doc signatureRaw]} (get-field-def (:value field)) ]
-                            {:value (str (:value adtCandidate) "." (:value field))
-                             :candidate (:value field)
-                             :package (:package adtCandidate)
-                             :file (:file adtCandidate)
-                             :doc signatureRaw
-                             :location location
-                             :module-name (:module-name adtCandidate)})))
-                      (-> fst-destruct-variable :pattern :value :patterns)))))
+                         (when (get-field-def (:value field))
+                           (let [{:keys [location doc signatureRaw]} (get-field-def (:value field)) ]
+                             {:value (str (:value adtCandidate) "." (:value field))
+                              :candidate (:value field)
+                              :package (:package adtCandidate)
+                              :file (:file adtCandidate)
+                              :doc signatureRaw
+                              :location location
+                              :module-name (:module-name adtCandidate)})))
+                       (-> fst-destruct-variable :pattern :value :patterns)))))
 
             (when (= "typeRec" (-> adtType :params first :type))
               (concat

                      (when (and (= "variable" (:type pattern-param))
                                 (nil? (:type adtCandidate)))
                        [{:candidate (:value pattern-param)}])

                      (when (and (= "variable" (:type pattern-param))
                                 (= "typeAliasDecl" (:type adtCandidate)))

                       (not (in-range? pos (-> decl :annotation))))



                  (let [pattern-param (-> param :pattern :value :variables first)
                        adtType (-> candidate :adtDefs first)
                        adtPattern (:pattern param)
                        adtParam (-> adtType :params first)
                        adtCandidate (get-jump-to-by-token (:value adtParam))]

                    (concat
                      (when-let [aliaz (:alias adtPattern)]
                        [{:candidate aliaz
