12345678910111213141516171819202122typet=Htmx|Alpinejs|Custom_fileofstringletreference:toptionref=refNoneletsetflag=reference:=Someflagletset_htmx()=reference:=SomeHtmxletget()=!referenceletreference_to_string=function|Htmx->"Htmx"|Alpinejs->"Alpine"|Custom_file_->"Custom"letto_string=functionNone->"Html"|Someref->reference_to_stringrefletattributes_of_flags=function|None->[]|SomeHtmx->Ppx_htmx.attributes|SomeAlpinejs->Ppx_alpinejs.attributes|Some(Custom_file_)->(* Not implemented *)[](* A function that loads the attributes lazy, since we need to derive the list of attributes with the ppx flags. *)letload_attributes()=lazy(attributes_of_flags(get()))