12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061open!ImportmoduleT=structtypet=|letunreachable_code_local=function|(_:t)->.;;letunreachable_codex=unreachable_code_localxletall=[]lethash_fold_t_t=unreachable_codetlethash=unreachable_codeletcomparea_=unreachable_codealetcompare__locala_=unreachable_codealetequal__locala_=unreachable_codealetsexp_of_t=unreachable_codelett_of_sexpsexp=Sexplib0.Sexp_conv_error.empty_type"Base.Nothing.t"sexplet(t_sexp_grammar:tSexplib0.Sexp_grammar.t)={untyped=Union[]}letto_string=unreachable_codeletof_string(_:string)=failwith"Base.Nothing.of_string: not supported"letglobalize=unreachable_codeendincludeTincludeIdentifiable.Make(structincludeTletmodule_name="Base.Nothing"end)letmust_be_none:toption->unit=function|None->()|Some_->.;;letmust_be_empty:tlist->unit=function|[]->()|_::_->.;;letmust_be_ok:('ok,t)Result.t->'ok=function|Okok->ok|Error_->.;;letmust_be_error:(t,'err)Result.t->'err=function|Ok_->.|Errorerror->error;;letmust_be_first:('first,t)Either.t->'first=function|Firstfirst->first|Second_->.;;letmust_be_second:(t,'second)Either.t->'second=function|First_->.|Secondsecond->second;;