sig   type t   val vdom :     Dom_html.element Js.t ->     'Sharp_core.t -> ('-> Sharp_vdom.t) -> unit -> unit   type restart_strategy =       Never     | Always     | OnChange     | OnDeepChange     | OnIdentifierChange of string   val node :     ?network:(Dom_html.element Js.t -> unit -> unit) ->     ?strategy:Sharp_vdom.restart_strategy ->     ?id:string -> string -> Sharp_vdom.t list -> Sharp_vdom.t   val element :     ?network:(Dom_html.element Js.t -> unit -> unit) ->     ?strategy:Sharp_vdom.restart_strategy ->     ?id:string -> string -> Sharp_vdom.t   val tag :     ?network:(Dom_html.element Js.t -> unit -> unit) ->     ?strategy:Sharp_vdom.restart_strategy ->     ?id:string -> string -> Sharp_vdom.t   val text :     ?network:(Dom.text Js.t -> unit -> unit) ->     ?strategy:Sharp_vdom.restart_strategy -> string -> Sharp_vdom.t   val append_child : Sharp_vdom.t -> Sharp_vdom.t -> Sharp_vdom.t   val prepend_child : Sharp_vdom.t -> Sharp_vdom.t -> Sharp_vdom.t   val set_attribute : string -> string -> Sharp_vdom.t -> Sharp_vdom.t   val clear_attribute : string -> Sharp_vdom.t -> Sharp_vdom.t   val ( |- ) : Sharp_vdom.t -> Sharp_vdom.t -> Sharp_vdom.t   val ( |+ ) : Sharp_vdom.t -> Sharp_vdom.t list -> Sharp_vdom.t   val ( |* ) : Sharp_vdom.t -> string * string -> Sharp_vdom.t   module Linked : sig type t end   val link :     ?current:Dom.node Js.t ->     Dom_html.element Js.t ->     Sharp_vdom.t -> Sharp_vdom.Linked.t * (unit -> unit)   val unlink : ?remove:bool -> Sharp_vdom.Linked.t -> unit -> unit   val diff_and_patch :     Dom_html.element Js.t ->     Sharp_vdom.Linked.t ->     Sharp_vdom.t -> Sharp_vdom.Linked.t * (unit -> unit)   module Element :     sig       val a :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.anchorElement Js.t -> unit -> unit) -> Sharp_vdom.t       val area :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.areaElement Js.t -> unit -> unit) -> Sharp_vdom.t       val article :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string -> (Dom_html.element Js.t -> unit -> unit) -> Sharp_vdom.t       val base :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.baseElement Js.t -> unit -> unit) -> Sharp_vdom.t       val blockquote :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.quoteElement Js.t -> unit -> unit) -> Sharp_vdom.t       val body :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.bodyElement Js.t -> unit -> unit) -> Sharp_vdom.t       val br :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.brElement Js.t -> unit -> unit) -> Sharp_vdom.t       val button :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.buttonElement Js.t -> unit -> unit) -> Sharp_vdom.t       val canvas :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.canvasElement Js.t -> unit -> unit) -> Sharp_vdom.t       val caption :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.tableCaptionElement Js.t -> unit -> unit) -> Sharp_vdom.t       val col :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.tableColElement Js.t -> unit -> unit) -> Sharp_vdom.t       val colgroup :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.tableColElement Js.t -> unit -> unit) -> Sharp_vdom.t       val del :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.modElement Js.t -> unit -> unit) -> Sharp_vdom.t       val div :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.divElement Js.t -> unit -> unit) -> Sharp_vdom.t       val dl :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.dListElement Js.t -> unit -> unit) -> Sharp_vdom.t       val fieldset :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.fieldSetElement Js.t -> unit -> unit) -> Sharp_vdom.t       val embed :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.embedElement Js.t -> unit -> unit) -> Sharp_vdom.t       val form :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.formElement Js.t -> unit -> unit) -> Sharp_vdom.t       val frameset :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.frameSetElement Js.t -> unit -> unit) -> Sharp_vdom.t       val frame :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.frameElement Js.t -> unit -> unit) -> Sharp_vdom.t       val h1 :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.headingElement Js.t -> unit -> unit) -> Sharp_vdom.t       val h2 :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.headingElement Js.t -> unit -> unit) -> Sharp_vdom.t       val h3 :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.headingElement Js.t -> unit -> unit) -> Sharp_vdom.t       val h4 :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.headingElement Js.t -> unit -> unit) -> Sharp_vdom.t       val h5 :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.headingElement Js.t -> unit -> unit) -> Sharp_vdom.t       val h6 :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.headingElement Js.t -> unit -> unit) -> Sharp_vdom.t       val header :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string -> (Dom_html.element Js.t -> unit -> unit) -> Sharp_vdom.t       val head :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.headElement Js.t -> unit -> unit) -> Sharp_vdom.t       val hr :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.hrElement Js.t -> unit -> unit) -> Sharp_vdom.t       val html :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.htmlElement Js.t -> unit -> unit) -> Sharp_vdom.t       val iframe :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.iFrameElement Js.t -> unit -> unit) -> Sharp_vdom.t       val img :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.imageElement Js.t -> unit -> unit) -> Sharp_vdom.t       val input :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.inputElement Js.t -> unit -> unit) -> Sharp_vdom.t       val ins :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.modElement Js.t -> unit -> unit) -> Sharp_vdom.t       val label :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.labelElement Js.t -> unit -> unit) -> Sharp_vdom.t       val legend :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.legendElement Js.t -> unit -> unit) -> Sharp_vdom.t       val li :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.liElement Js.t -> unit -> unit) -> Sharp_vdom.t       val link :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.linkElement Js.t -> unit -> unit) -> Sharp_vdom.t       val map :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.mapElement Js.t -> unit -> unit) -> Sharp_vdom.t       val meta :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.metaElement Js.t -> unit -> unit) -> Sharp_vdom.t       val nav :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string -> (Dom_html.element Js.t -> unit -> unit) -> Sharp_vdom.t       val _object :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.objectElement Js.t -> unit -> unit) -> Sharp_vdom.t       val ol :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.oListElement Js.t -> unit -> unit) -> Sharp_vdom.t       val optgroup :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.optGroupElement Js.t -> unit -> unit) -> Sharp_vdom.t       val option :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.optionElement Js.t -> unit -> unit) -> Sharp_vdom.t       val p :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.paramElement Js.t -> unit -> unit) -> Sharp_vdom.t       val param :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.paramElement Js.t -> unit -> unit) -> Sharp_vdom.t       val pre :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.preElement Js.t -> unit -> unit) -> Sharp_vdom.t       val q :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.quoteElement Js.t -> unit -> unit) -> Sharp_vdom.t       val script :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.scriptElement Js.t -> unit -> unit) -> Sharp_vdom.t       val section :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string -> (Dom_html.element Js.t -> unit -> unit) -> Sharp_vdom.t       val select :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.selectElement Js.t -> unit -> unit) -> Sharp_vdom.t       val style :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.styleElement Js.t -> unit -> unit) -> Sharp_vdom.t       val table :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.tableElement Js.t -> unit -> unit) -> Sharp_vdom.t       val tbody :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.tableSectionElement Js.t -> unit -> unit) -> Sharp_vdom.t       val td :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.tableCellElement Js.t -> unit -> unit) -> Sharp_vdom.t       val textarea :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.textAreaElement Js.t -> unit -> unit) -> Sharp_vdom.t       val tfoot :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.tableSectionElement Js.t -> unit -> unit) -> Sharp_vdom.t       val th :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.tableCellElement Js.t -> unit -> unit) -> Sharp_vdom.t       val thead :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.tableSectionElement Js.t -> unit -> unit) -> Sharp_vdom.t       val title :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.titleElement Js.t -> unit -> unit) -> Sharp_vdom.t       val tr :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.tableRowElement Js.t -> unit -> unit) -> Sharp_vdom.t       val ul :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.uListElement Js.t -> unit -> unit) -> Sharp_vdom.t       val audio :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.audioElement Js.t -> unit -> unit) -> Sharp_vdom.t       val video :         ?strategy:Sharp_vdom.restart_strategy ->         ?id:string ->         (Dom_html.videoElement Js.t -> unit -> unit) -> Sharp_vdom.t     end   module E = Element end