12345678910111213141516openPpxlib(* ppxlib >= 0.36: [fun a b -> e] is a single Pexp_function node *)letfun_paramse=letrecparamsacce=matche.pexp_descwith|Pexp_function(ps,None,Pfunction_bodybody)whenList.for_all(function|{pparam_desc=Pparam_val(Nolabel,None,{ppat_desc=Ppat_var_;_});_}->true|_->false)ps->letnames=List.map(function|{pparam_desc=Pparam_val(_,_,{ppat_desc=Ppat_var{txt;_};_});_}->txt|_->assertfalse)psinparams(List.rev_appendnamesacc)body|_->List.revacc,einparams[]e