123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051openHash.BuiltinopenPpx_compare_lib.BuiltinmoduleList=List0moduleString=String0include(Sexplib0.Sexp:moduletypeofSexplib0.Sexpwithtypet:=Sexplib0.Sexp.t)(** Type of S-expressions *)typet=Sexplib0.Sexp.t=|Atomofstring|Listoftlist[@@deriving_inlinecompare,hash]letreccompare=(funa__001_b__002_->ifPpx_compare_lib.phys_equala__001_b__002_then0else(matcha__001_,b__002_with|Atom_a__003_,Atom_b__004_->compare_string_a__003__b__004_|Atom_,_->-1|_,Atom_->1|List_a__005_,List_b__006_->compare_listcompare_a__005__b__006_):t->t->int);;letrec(hash_fold_t:Ppx_hash_lib.Std.Hash.state->t->Ppx_hash_lib.Std.Hash.state)=(funhsvarg->matchargwith|Atom_a0->lethsv=Ppx_hash_lib.Std.Hash.fold_inthsv0inlethsv=hsvinhash_fold_stringhsv_a0|List_a0->lethsv=Ppx_hash_lib.Std.Hash.fold_inthsv1inlethsv=hsvinhash_fold_listhash_fold_thsv_a0:Ppx_hash_lib.Std.Hash.state->t->Ppx_hash_lib.Std.Hash.state)and(hash:t->Ppx_hash_lib.Std.Hash.hash_value)=letfuncarg=Ppx_hash_lib.Std.Hash.get_hash_value(lethsv=Ppx_hash_lib.Std.Hash.create()inhash_fold_thsvarg)infunx->funcx;;[@@@end]letof_string=()letinvariant(_:t)=()