         (fold-path path (match-value message path))))
 
     (optional-path-matches-without-binding-clause? clause)
-    (let [path        (optional-path-matches-without-binding-clause-path clause)
-          matcher     (optional-path-matches-without-binding-clause-matcher clause)
-          match-value (matcher->value matcher)]
-      (if (predicate-matcher? matcher)
-        `(~(fold-path path '_) :guard ~(match-value message path))
-        (fold-path path (match-value message path))))
+    {}
 
     (optional-path-matches-with-binding-clause? clause)
-    (let [path        (optional-path-matches-with-binding-clause-path clause)
-          matcher     (optional-path-matches-with-binding-clause-matcher clause)
-          match-value (matcher->value matcher)]
-      (if (predicate-matcher? matcher)
-        `(~(fold-path path '_) :guard ~(match-value message path))
-        (fold-path path (match-value message path))))))
+    {}))
 
 
 (defn reduce-lhs

      (assoc-in {} (map convert-path-element path) (symbol binding)))

    (optional-path-exists-without-binding-clause? clause)
    (let [path    (optional-path-exists-without-binding-clause-path clause)]
      (assoc-in {} (map convert-path-element path) '_))

    (optional-path-exists-with-binding-clause? clause)
    (let [path    (optional-path-exists-with-binding-clause-path clause)
          binding (optional-path-exists-with-binding-clause-binding clause)]
      (assoc-in {} (map convert-path-element path) (symbol binding)))

    (key-matches-without-binding-clause? clause)
    (let [key         (key-matches-without-binding-clause-key clause)

          binding (key-exists-with-binding-clause-binding clause)]
      {(convert-path-element key) (symbol binding)})

    (optional-key-exists-without-binding-clause? clause)
    {}

    (optional-key-exists-with-binding-clause? clause)
    {}

    (path-exists-without-binding-clause? clause)
    (let [path    (path-exists-without-binding-clause-path clause)]
