Module type Clause_syntax.S
val create_list : ast Ppx_quickcheck_expander__.Import.list -> t Ppx_quickcheck_expander__.Import.list
val salt : t -> Ppx_quickcheck_expander__.Import.int Ppx_quickcheck_expander__.Import.option
Add to hash state via
hash_fold_int
to signify what clause we're in.None
for inherited polymorphic variant clauses, since their observers will have salt for concrete tags.
val location : t -> Ppx_quickcheck_expander__.Import.location
location of the clause's definition
val weight : t -> Ppx_quickcheck_expander__.Import.expression
weight of the clause relative to other clauses in the generator distribution
val core_type_list : t -> Ppx_quickcheck_expander__.Import.core_type Ppx_quickcheck_expander__.Import.list
types of the clause's arguments
val pattern : t -> loc:Ppx_quickcheck_expander__.Import.location -> Ppx_quickcheck_expander__.Import.pattern Ppx_quickcheck_expander__.Import.list -> Ppx_quickcheck_expander__.Import.pattern
constructing a pattern to match the clause
val expression : t -> loc:Ppx_quickcheck_expander__.Import.location -> Ppx_quickcheck_expander__.Import.core_type -> Ppx_quickcheck_expander__.Import.expression Ppx_quickcheck_expander__.Import.list -> Ppx_quickcheck_expander__.Import.expression
constructing an expression to create an instance of the clause