12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364open!ImportmoduletypeConv=sigtypequickcheckabletypetvalof_quickcheckable:quickcheckable->tvalto_quickcheckable:t->quickcheckableendmoduletypeConv1=sigtype'aquickcheckabletype'atvalof_quickcheckable:'aquickcheckable->'atvalto_quickcheckable:'at->'aquickcheckableendmoduletypeConv_filtered=sigtypequickcheckabletypetvalof_quickcheckable:quickcheckable->toptionvalto_quickcheckable:t->quickcheckableendmoduletypeConv_filtered1=sigtype'aquickcheckabletype'atvalof_quickcheckable:'aquickcheckable->'atoptionvalto_quickcheckable:'at->'aquickcheckableend(** Provides functors for making a module quickcheckable with {!Quickcheck}. *)moduletypeQuickcheckable=sigmoduletypeConv=ConvmoduletypeConv1=Conv1moduletypeConv_filtered=Conv_filteredmoduletypeConv_filtered1=Conv_filtered1moduletypeS=Quickcheck.SmoduletypeS1=Quickcheck.S1moduletypeS2=Quickcheck.S2moduletypeS_int=Quickcheck.S_intmoduleOf_quickcheckable(Quickcheckable:S)(Conv:Convwithtypequickcheckable:=Quickcheckable.t):Swithtypet:=Conv.tmoduleOf_quickcheckable1(Quickcheckable:S1)(Conv:Conv1withtype'aquickcheckable:='aQuickcheckable.t):S1withtype'at:='aConv.tmoduleOf_quickcheckable_filtered(Quickcheckable:S)(Conv:Conv_filteredwithtypequickcheckable:=Quickcheckable.t):Swithtypet:=Conv.tmoduleOf_quickcheckable_filtered1(Quickcheckable:S1)(Conv:Conv_filtered1withtype'aquickcheckable:='aQuickcheckable.t):S1withtype'at:='aConv.tend