sig   type t = Sharp_vdom.t   val vdom :     Dom_html.element Js.t -> 'Sharp_core.t -> ('-> t) -> unit -> unit   type restart_strategy =     Sharp_vdom.restart_strategy =       Never     | Always     | OnChange     | OnDeepChange     | OnIdentifierChange of string   val node :     ?network:(Dom_html.element Js.t -> unit -> unit) ->     ?strategy:restart_strategy -> ?id:string -> string -> t list -> t   val element :     ?network:(Dom_html.element Js.t -> unit -> unit) ->     ?strategy:restart_strategy -> ?id:string -> string -> t   val tag :     ?network:(Dom_html.element Js.t -> unit -> unit) ->     ?strategy:restart_strategy -> ?id:string -> string -> t   val text :     ?network:(Dom.text Js.t -> unit -> unit) ->     ?strategy:restart_strategy -> string -> t   val append_child : t -> t -> t   val prepend_child : t -> t -> t   val set_attribute : string -> string -> t -> t   val clear_attribute : string -> t -> t   val ( |- ) : t -> t -> t   val ( |+ ) : t -> t list -> t   val ( |* ) : t -> string * string -> t   module Linked = Sharp_vdom.Linked   val link :     ?current:Dom.node Js.t ->     Dom_html.element Js.t -> t -> Linked.t * (unit -> unit)   val unlink : ?remove:bool -> Linked.t -> unit -> unit   val diff_and_patch :     Dom_html.element Js.t -> Linked.t -> t -> Linked.t * (unit -> unit)   module Element = Sharp_vdom.Element   module E = Sharp_vdom.E   module Subnetwork = Sharp_vdom_subnetwork   module Sub = Subnetwork end