                                  (assoc 
                                   ::misspelled-key unknown-key
                                   ::correct-key suggest))]
-                            [(conj pred-path :unknown-key unknown-key)
-                             (-> exp-data
-                                 #_(update-in [:in] conj unknown-key)
-                                 (assoc ::unknown-key unknown-key))]
+                            (if-let [replace-suggest (replacement-suggestion spec-key-data x unknown-key)]
+                              [(conj pred-path :misspelled-key unknown-key)
+                               (-> exp-data
+                                   #_(update-in [:in] conj unknown-key)
+                                   (assoc 
+                                    ::misspelled-key unknown-key
+                                    ::correct-key suggest))]
+                              [(conj pred-path :unknown-key unknown-key)
+                               (-> exp-data
+                                   #_(update-in [:in] conj unknown-key)
+                                   (assoc ::unknown-key unknown-key))])
+                            
                             )))))))))
       ;; These can be improved
       (gen* [_ a b c]

  
  (spelling-suggestions   #{:asdf/asdf :asdf/abg :asdfffff/a}  :asdf/asd )
  )

;; thoughts about fuzzy conform
;; the reason for fuzzy conform is two fold


;; suggest a completely different key if its a complex value and it conforms to
;; another key that isn't already in the map

(comment

