         (fp/query->ast query))))
 
   (gen/sample (make-gen {::gen-params
-                         (fn [_] (gen/map (gen/return :param) gen/string-ascii))
-
-                         ::gen-property
-                         (fn [_] (gen/return :prop))
-
-                         ::gen-union-key
-                         (fn [_] (gen/elements [:a :b :c]))
-
-                         ::gen-ident
-                         (fn [_] (gen/return [:by-id 42]))}
+                         (fn [_] (gen/return {:param "value"}))}
                 ::gen-query)
     10)
 

   ::gen-mutation
   (fn gen-mutation [{::keys [gen-mutation-expr gen-mutation-join] :as env}]
     (gen/frequency [[5 (gen-mutation-expr env)]
                     [1 (gen-mutation-join env)]]))

   ::gen-mutation-tx
   (fn gen-mutation-tx [{::keys [gen-mutation gen-property] :as env}]
     (gen/fmap vec
       (s/gen (s/cat :mutations (s/+ (s/with-gen ::mutation #(gen-mutation env)))
                     :reads (s/* (s/with-gen ::property #(gen-property env)))))))

   ::gen-transaction
   (fn gen-transaction [{::keys [gen-query gen-mutation-tx] :as env}]
     (gen/frequency [[5 (gen-query env)]
                     [1 (gen-mutation-tx env)]]))})

(defn default-gen [name]
  #((get generators name) generators))

       (list q p)))

   ::gen-query-expr
   (fn gen-query-expr [{::keys [gen-property gen-join gen-ident gen-param-expr gen-special-property gen-mutation]
                        :as    env}]
     (gen/frequency [[20 (gen-property env)]
                     [6 (gen-join env)]
                     [1 (gen-ident env)]
                     [2 (gen-param-expr env)]
                     [1 (gen-mutation env)]
                     [1 (gen-special-property env)]]))

   ::gen-query
