1234567891011121314151617181920212223openTypesletrecshow_evt_fancye=matchewith|EvtUnit->"()"|EvtIntv->string_of_intv|EvtFloatv->Printf.sprintf"%F"v|EvtComplexn->show_complextn|EvtBoolv->string_of_boolv|EvtCharc->"'"^String.make1c^"'"|EvtStringv->"\""^(String.escapedv)^"\""|EvtVect(_,l)->"[|"^(String.concat", "(Array.mapshow_evt_fancyl|>Array.to_list))^"|]"|EvtListl->"["^(String.concat", "(List.mapshow_evt_fancyl))^"]"|EvtDictd->"{"^(String.concat", "(List.map(fun(x,y)->x^" = "^show_evt_fancyy)d))^"}"|Closure(name,param,body,_)->(matchnamewith|Somex->x|None->"")^"(fun "^(String.concat" "(param::(Expr.findparamsbody)))^" -> ... )"|LazyExpressione->"<lazy>: "^(Expr.show_expr_shorte)(** Function that creates a list with the params of a nested lambda in a Closure *)letfindevtparamsl=matchlwith|Closure(_,p,b,_)->p::(Expr.findparamsb)|_->[]