1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465openPpxlibopenAst_builder.DefaultopenPpx_let_expanderopenPpx_bonsai_expandermoduleTest_extension=Test_extensionletlocality=Locality.globalletlocation_behavior:Location_behavior.tref=refLocation_behavior.Location_of_callsite;;letexttextension_kind=Extension.declare_with_path_arg(ext_full_name(t!location_behavior)~localityextension_kind)Extension.Context.expressionAst_pattern.(single_expr_payload__)(fun~loc:_~path:_~argexpr->expand(t!location_behavior)extension_kind~locality~modul:argexpr);;(* If [%lazy] wasn't expanded, it means you're using it incorrectly. *)letlazy_error=Extension.declare_with_path_arg"lazy"Extension.Context.expressionAst_pattern.(alt_option(single_expr_payload(pexp_ident(lident__)))(pstrnil))(fun~loc~path:_~arg:__->pexp_extension~loc(Location.error_extensionf~loc"Syntax error. The correct syntax is `match%%sub [%%lazy] ...` or `match%%sub \
[%%lazy graph] ...`. Does your code compile if you delete this [%%lazy] \
block?"));;let()=Driver.add_arg"-for-bonsai-internals-use-location-in-scope"~doc:"{unit}: Normally ppx_bonsai passes [%here] to locations. If this flag is \
provided, it'll pass the identifier \"here\" and assume that it's in scope. This \
is meant for bonsai internals that thread/report the location."(Arg.Unit(fun()->location_behavior:=Location_behavior.Location_in_scope;()));;let()=Driver.register_transformation"bonsai"~extensions:[extsubExtension_kind.default;extsubExtension_kind.default_open;extarrExtension_kind.default;extarrExtension_kind.default_open;extarr_debugExtension_kind.default;extarr_debugExtension_kind.default_open;lazy_error];;let()=Test_extension.register()