sig
  val xmlns : Js.js_string Js.t
  type error_code =
      WRONG_TYPE_ERR
    | INVALID_VALUE_ERR
    | MATRIX_NOT_INVERTABLE
  class type svg_error =
    object
      method code : Dom_svg.error_code Js.t Js.readonly_prop
      method message : Js.js_string Js.t Js.prop
      method name : Js.js_string Js.t Js.prop
      method stack : Js.js_string Js.t Js.optdef Js.prop
      method toString : Js.js_string Js.t Js.meth
    end
  exception SVGError of Dom_svg.svg_error
  type lengthUnitType =
      LENGTHTYPE_UNKNOWN
    | LENGTHTYPE_NUMBER
    | LENGTHTYPE_PERCENTAGE
    | LENGTHTYPE_EMS
    | LENGTHTYPE_EXS
    | LENGTHTYPE_PX
    | LENGTHTYPE_CM
    | LENGTHTYPE_MM
    | LENGTHTYPE_IN
    | LENGTHTYPE_PT
    | LENGTHTYPE_PC
  type angleUnitType =
      ANGLETYPE_UNKNOWN
    | ANGLETYPE_UNSPECIFIED
    | ANGLETYPE_DEG
    | ANGLETYPE_RAD
    | ANGLETYPE_GRAD
  type colorType =
      COLORTYPE_UNKNOWN
    | COLORTYPE_RGBCOLOR
    | COLORTYPE_RGBCOLOR_ICCCOLOR
    | COLORTYPE_CURRENTCOLOR
  type alignmentType =
      PRESERVEASPECTRATIO_UNKNOWN
    | PRESERVEASPECTRATIO_NONE
    | PRESERVEASPECTRATIO_XMINYMIN
    | PRESERVEASPECTRATIO_XMIDYMIN
    | PRESERVEASPECTRATIO_XMAXYMIN
    | PRESERVEASPECTRATIO_XMINYMID
    | PRESERVEASPECTRATIO_XMIDYMID
    | PRESERVEASPECTRATIO_XMAXYMID
    | PRESERVEASPECTRATIO_XMINYMAX
    | PRESERVEASPECTRATIO_XMIDYMAX
    | PRESERVEASPECTRATIO_XMAXYMAX
  type meetOrSliceType =
      MEETORSLICE_UNKNOWN
    | MEETORSLICE_MEET
    | MEETORSLICE_SLICE
  type transformType =
      TRANSFORM_UNKNOWN
    | TRANSFORM_MATRIX
    | TRANSFORM_TRANSLATE
    | TRANSFORM_SCALE
    | TRANSFORM_ROTATE
    | TRANSFORM_SKEWX
    | TRANSFORM_SKEWY
  type zoomAndPanType =
      ZOOMANDPAN_UNKNOWN
    | ZOOMANDPAN_DISABLE
    | ZOOMANDPAN_MAGNIFY
  type lengthAdjust =
      LENGTHADJUST_UNKNOWN
    | LENGTHADJUST_SPACING
    | LENGTHADJUST_SPACINGANDGLYPHS
  type unitType =
      UNIT_TYPE_UNKNOWN
    | UNIT_TYPE_USERSPACEONUSE
    | UNIT_TYPE_OBJECTBOUNDINGBOX
  type intentType =
      RENDERING_INTENT_UNKNOWN
    | RENDERING_INTENT_AUTO
    | RENDERING_INTENT_PERCEPTUAL
    | RENDERING_INTENT_RELATIVE_COLORIMETRIC
    | RENDERING_INTENT_SATURATION
    | RENDERING_INTENT_ABSOLUTE_COLORIMETRIC
  type pathSegmentType =
      PATHSEG_UNKNOWN
    | PATHSEG_CLOSEPATH
    | PATHSEG_MOVETO_ABS
    | PATHSEG_MOVETO_REL
    | PATHSEG_LINETO_ABS
    | PATHSEG_LINETO_REL
    | PATHSEG_CURVETO_CUBIC_ABS
    | PATHSEG_CURVETO_CUBIC_REL
    | PATHSEG_CURVETO_QUADRATIC_ABS
    | PATHSEG_CURVETO_QUADRATIC_REL
    | PATHSEG_ARC_ABS
    | PATHSEG_ARC_REL
    | PATHSEG_LINETO_HORIZONTAL_ABS
    | PATHSEG_LINETO_HORIZONTAL_REL
    | PATHSEG_LINETO_VERTICAL_ABS
    | PATHSEG_LINETO_VERTICAL_REL
    | PATHSEG_CURVETO_CUBIC_SMOOTH_ABS
    | PATHSEG_CURVETO_CUBIC_SMOOTH_REL
    | PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS
    | PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL
  type textPathMethodType =
      TEXTPATH_METHODTYPE_UNKNOWN
    | TEXTPATH_METHODTYPE_ALIGN
    | TEXTPATH_METHODTYPE_STRETCH
  type textPathSpacingType =
      TEXTPATH_SPACINGTYPE_UNKNOWN
    | TEXTPATH_SPACINGTYPE_AUTO
    | TEXTPATH_SPACINGTYPE_EXACT
  type spreadMethodType =
      SPREADMETHOD_UNKNOWN
    | SPREADMETHOD_PAD
    | SPREADMETHOD_REFLECT
    | SPREADMETHOD_REPEAT
  type suspendHandleID
  class type ['a] animated =
    object method animVal : 'Js.prop method baseVal : 'Js.prop end
  class type ['a] list =
    object
      method appendItem : '-> 'Js.meth
      method clear : unit Js.meth
      method getItem : int -> 'Js.meth
      method initialize : '-> 'Js.meth
      method insertItemBefore : '-> int -> 'Js.meth
      method numberOfItems : int Js.readonly_prop
      method removeItem : int -> 'Js.meth
      method replaceItem : '-> int -> 'Js.meth
    end
  class type element =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : Dom_svg.svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method tagName : Js.js_string Js.t Js.readonly_prop
      method viewportElement : Dom_svg.element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
    end
  and animatedString = [Js.js_string Js.t] animated
  and animatedBoolean = [bool Js.t] animated
  and stringList = [Js.js_string Js.t] list
  and animatedEnumeration = [int] animated
  and animatedInteger = [int] animated
  and animatedNumber = [float] animated
  and numberList = [Js.number Js.t] list
  and animatedNumberList = [Dom_svg.numberList Js.t] animated
  and length =
    object
      method convertToSpecifiedUnits : Dom_svg.lengthUnitType -> unit Js.meth
      method newValueSpecifiedUnits :
        Dom_svg.lengthUnitType -> float -> unit Js.meth
      method unitType : Dom_svg.lengthUnitType Js.readonly_prop
      method value : float Js.prop
      method valueAsString : Js.js_string Js.t Js.prop
      method valueInSpecifiedUnits : float Js.prop
    end
  and animatedLength = [Dom_svg.length] animated
  and lengthList = [Dom_svg.length Js.t] list
  and animatedLengthList = [Dom_svg.lengthList Js.t] animated
  and angle =
    object
      method convertToSpecifiedUnits : Dom_svg.angleUnitType -> unit Js.meth
      method newValueSpecifiedUnits :
        Dom_svg.angleUnitType -> float -> unit Js.meth
      method unitType : Dom_svg.angleUnitType Js.readonly_prop
      method value : float Js.prop
      method valueAsString : Js.js_string Js.t Js.prop
      method valueInSpecifiedUnits : float Js.prop
    end
  and animatedAngle = [Dom_svg.angle Js.t] animated
  and rgbColor = object  end
  and color =
    object
      method colorType : Dom_svg.colorType Js.readonly_prop
      method iccColor : Dom_svg.iccColor Js.t Js.readonly_prop
      method rgbColor : Dom_svg.rgbColor Js.t Js.readonly_prop
      method setColor :
        Dom_svg.colorType ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setRGBColor : Js.js_string Js.t -> unit Js.meth
      method setRGBColorICCColor :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
    end
  and iccColor =
    object
      method colorProfile : Js.js_string Js.t Js.prop
      method colors : Dom_svg.numberList Js.t Js.readonly_prop
    end
  and rect =
    object
      method height : float Js.prop
      method width : float Js.prop
      method x : float Js.prop
      method y : float Js.prop
    end
  and animatedRect = [Dom_svg.rect Js.t] animated
  and stylable =
    object
      method className : Dom_svg.animatedString Js.t Js.readonly_prop
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
    end
  and locatable =
    object
      method farthestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method getBBox : Dom_svg.rect Js.t Js.meth
      method getCTM : Dom_svg.matrix Js.t Js.meth
      method getScreenCTM : Dom_svg.matrix Js.t Js.meth
      method getTransformToElement :
        Dom_svg.element Js.t -> Dom_svg.matrix Js.t Js.meth
      method nearestViewportElement : Dom_svg.element Js.t Js.readonly_prop
    end
  and transformable =
    object
      method farthestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method getBBox : Dom_svg.rect Js.t Js.meth
      method getCTM : Dom_svg.matrix Js.t Js.meth
      method getScreenCTM : Dom_svg.matrix Js.t Js.meth
      method getTransformToElement :
        Dom_svg.element Js.t -> Dom_svg.matrix Js.t Js.meth
      method nearestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method transform : Dom_svg.animatedTransformList Js.t Js.readonly_prop
    end
  and tests =
    object
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method requiredExtensions : Dom_svg.stringList Js.t Js.readonly_prop
      method requiredFeatures : Dom_svg.stringList Js.t Js.readonly_prop
      method systemLanguage : Dom_svg.stringList Js.t Js.readonly_prop
    end
  and langSpace =
    object
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
    end
  and externalResourcesRequired =
    object
      method externalResourcesRequired :
        Dom_svg.animatedBoolean Js.t Js.readonly_prop
    end
  and fitToViewBox =
    object
      method preserveAspectRatio :
        Dom_svg.animatedPreserveAspectRatio Js.t Js.readonly_prop
      method viewBox : Dom_svg.animatedRect Js.t Js.readonly_prop
    end
  and zoomAndPan =
    object method zoomAndPan : Dom_svg.zoomAndPanType Js.prop end
  and viewSpec =
    object
      method preserveAspectRatio :
        Dom_svg.animatedPreserveAspectRatio Js.t Js.readonly_prop
      method preserveAspectRatioString : Js.js_string Js.t Js.readonly_prop
      method transform : Dom_svg.transformList Js.t Js.readonly_prop
      method transformString : Js.js_string Js.t Js.readonly_prop
      method viewBox : Dom_svg.animatedRect Js.t Js.readonly_prop
      method viewBoxString : Js.js_string Js.t Js.readonly_prop
      method viewTarget : Dom_svg.element Js.t Js.readonly_prop
      method viewTargetString : Js.js_string Js.t Js.readonly_prop
      method zoomAndPan : Dom_svg.zoomAndPanType Js.prop
    end
  and uriReference =
    object method href : Dom_svg.animatedString Js.t Js.readonly_prop end
  and document =
    object
      method _URL : Js.js_string Js.t Js.readonly_prop
      method adoptNode : Dom.element Js.t -> element Js.t Js.meth
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method createAttribute : Js.js_string Js.t -> Dom.attr Js.t Js.meth
      method createComment : Js.js_string Js.t -> Dom.comment Js.t Js.meth
      method createDocumentFragment : Dom.documentFragment Js.t Js.meth
      method createElement : Js.js_string Js.t -> element Js.t Js.meth
      method createElementNS :
        Js.js_string Js.t -> Js.js_string Js.t -> element Js.t Js.meth
      method createTextNode : Js.js_string Js.t -> Dom.text Js.t Js.meth
      method documentElement : element Js.t Js.readonly_prop
      method domain : Js.js_string Js.t Js.prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getElementById :
        Js.js_string Js.t -> element Js.t Js.opt Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> element Dom.nodeList Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method importNode :
        Dom.element Js.t -> bool Js.t -> element Js.t Js.meth
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method referrer : Js.js_string Js.t Js.readonly_prop
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method rootElement : Dom_svg.svgElement Js.t Js.readonly_prop
      method title : Js.js_string Js.t Js.prop
    end
  and svgElement =
    object
      method animationsPaused : bool Js.t Js.meth
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method checkEnclosure :
        Dom_svg.element Js.t -> Dom_svg.rect Js.t -> bool Js.t
      method checkIntersection :
        Dom_svg.element Js.t -> Dom_svg.rect Js.t -> bool Js.t
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : Dom_svg.animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method contentScriptType : Js.js_string Js.t Js.prop
      method contentStyleType : Js.js_string Js.t Js.prop
      method createSVGAngle : Dom_svg.angle Js.t Js.meth
      method createSVGLength : Dom_svg.length Js.t Js.meth
      method createSVGMatrix : Dom_svg.matrix Js.t Js.meth
      method createSVGNumber : Js.number Js.t Js.meth
      method createSVGPoint : Dom_svg.point Js.t Js.meth
      method createSVGRect : Dom_svg.rect Js.t Js.meth
      method createSVGTransform : Dom_svg.transform Js.t Js.meth
      method createSVGTransformFromMatrix :
        Dom_svg.matrix Js.t -> Dom_svg.transform Js.t Js.meth
      method currentScale : float Js.prop
      method currentTranslate : Dom_svg.point Js.t Js.readonly_prop
      method currentView : Dom_svg.viewSpec Js.t Js.readonly_prop
      method deselectAll : unit Js.meth
      method externalResourcesRequired :
        Dom_svg.animatedBoolean Js.t Js.readonly_prop
      method farthestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method forceRedraw : unit Js.meth
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getBBox : Dom_svg.rect Js.t Js.meth
      method getCTM : Dom_svg.matrix Js.t Js.meth
      method getCurrentTime : float Js.meth
      method getElementById : Js.js_string Js.t -> Dom.element Js.t Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getEnclosureList :
        Dom_svg.rect Js.t ->
        Dom_svg.element Js.t ->
        Dom_svg.element Js.t Dom.nodeList Js.t Js.meth
      method getIntersectionList :
        Dom_svg.rect Js.t ->
        Dom_svg.element Js.t ->
        Dom_svg.element Js.t Dom.nodeList Js.t Js.meth
      method getScreenCTM : Dom_svg.matrix Js.t Js.meth
      method getTransformToElement :
        Dom_svg.element Js.t -> Dom_svg.matrix Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method height : Dom_svg.animatedLength Js.t Js.readonly_prop
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nearestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : Dom_svg.svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method pauseAnimations : unit Js.meth
      method pixelUnitToMillimeterX : float Js.readonly_prop
      method pixelUnitToMillimeterY : float Js.readonly_prop
      method preserveAspectRatio :
        Dom_svg.animatedPreserveAspectRatio Js.t Js.readonly_prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : Dom_svg.stringList Js.t Js.readonly_prop
      method requiredFeatures : Dom_svg.stringList Js.t Js.readonly_prop
      method screenPixelUnitToMillimeterX : float Js.readonly_prop
      method screenPixelUnitToMillimeterY : float Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setCurrentTime : int -> unit Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method suspendRedraw : int -> Dom_svg.suspendHandleID Js.meth
      method systemLanguage : Dom_svg.stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method unpauseAnimations : unit Js.meth
      method unsuspendRedraw : Dom_svg.suspendHandleID -> unit Js.meth
      method unsuspendRedrawAll : unit Js.meth
      method useCurrentView : bool Js.t Js.readonly_prop
      method viewBox : Dom_svg.animatedRect Js.t Js.readonly_prop
      method viewport : Dom_svg.rect Js.t Js.readonly_prop
      method viewportElement : Dom_svg.element Js.t Js.readonly_prop
      method width : Dom_svg.animatedLength Js.t Js.readonly_prop
      method x : Dom_svg.animatedLength Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
      method y : Dom_svg.animatedLength Js.t Js.readonly_prop
      method zoomAndPan : Dom_svg.zoomAndPanType Js.prop
    end
  and gElement =
    object ('a)
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : Dom_svg.animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        Dom_svg.animatedBoolean Js.t Js.readonly_prop
      method farthestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getBBox : Dom_svg.rect Js.t Js.meth
      method getCTM : Dom_svg.matrix Js.t Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getScreenCTM : Dom_svg.matrix Js.t Js.meth
      method getTransformToElement :
        Dom_svg.element Js.t -> Dom_svg.matrix Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nearestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method onclick :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondblclick :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondrag :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragend :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragenter :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragleave :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragover :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragstart :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondrop :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeydown :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeypress :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeyup :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmousedown :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmousemove :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseout :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseover :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseup :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onscroll :
        ('Js.t, Dom_html.event Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ownerSVGElement : Dom_svg.svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : Dom_svg.stringList Js.t Js.readonly_prop
      method requiredFeatures : Dom_svg.stringList Js.t Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : Dom_svg.stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method transform : Dom_svg.animatedTransformList Js.t Js.readonly_prop
      method viewportElement : Dom_svg.element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
    end
  and defsElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : Dom_svg.animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        Dom_svg.animatedBoolean Js.t Js.readonly_prop
      method farthestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getBBox : Dom_svg.rect Js.t Js.meth
      method getCTM : Dom_svg.matrix Js.t Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getScreenCTM : Dom_svg.matrix Js.t Js.meth
      method getTransformToElement :
        Dom_svg.element Js.t -> Dom_svg.matrix Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nearestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : Dom_svg.svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : Dom_svg.stringList Js.t Js.readonly_prop
      method requiredFeatures : Dom_svg.stringList Js.t Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : Dom_svg.stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method transform : Dom_svg.animatedTransformList Js.t Js.readonly_prop
      method viewportElement : Dom_svg.element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
    end
  and descElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : Dom_svg.animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : Dom_svg.svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method viewportElement : Dom_svg.element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
    end
  and titleElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : Dom_svg.animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : Dom_svg.svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method viewportElement : Dom_svg.element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
    end
  and symbolElement =
    object ('a)
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : Dom_svg.animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        Dom_svg.animatedBoolean Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method onclick :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondblclick :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondrag :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragend :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragenter :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragleave :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragover :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragstart :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondrop :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeydown :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeypress :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeyup :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmousedown :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmousemove :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseout :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseover :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseup :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onscroll :
        ('Js.t, Dom_html.event Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ownerSVGElement : Dom_svg.svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method preserveAspectRatio :
        Dom_svg.animatedPreserveAspectRatio Js.t Js.readonly_prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method viewBox : Dom_svg.animatedRect Js.t Js.readonly_prop
      method viewportElement : Dom_svg.element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
    end
  and useElement =
    object
      method animatedInstanceRoot :
        Dom_svg.elementInstance Js.t Js.readonly_prop
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : Dom_svg.animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        Dom_svg.animatedBoolean Js.t Js.readonly_prop
      method farthestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getBBox : Dom_svg.rect Js.t Js.meth
      method getCTM : Dom_svg.matrix Js.t Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getScreenCTM : Dom_svg.matrix Js.t Js.meth
      method getTransformToElement :
        Dom_svg.element Js.t -> Dom_svg.matrix Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method height : Dom_svg.animatedLength Js.t Js.readonly_prop
      method href : Dom_svg.animatedString Js.t Js.readonly_prop
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method instanceRoot : Dom_svg.elementInstance Js.t Js.readonly_prop
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nearestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : Dom_svg.svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : Dom_svg.stringList Js.t Js.readonly_prop
      method requiredFeatures : Dom_svg.stringList Js.t Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : Dom_svg.stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method transform : Dom_svg.animatedTransformList Js.t Js.readonly_prop
      method viewportElement : Dom_svg.element Js.t Js.readonly_prop
      method width : Dom_svg.animatedLength Js.t Js.readonly_prop
      method x : Dom_svg.animatedLength Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
      method y : Dom_svg.animatedLength Js.t Js.readonly_prop
    end
  and elementInstance =
    object ('a)
      method childNodes : Dom_svg.elementInstanceList Js.t Js.readonly_prop
      method correspondingElement : Dom_svg.element Js.t Js.readonly_prop
      method correspondingUseElement :
        Dom_svg.useElement Js.t Js.readonly_prop
      method firstChild : Dom_svg.elementInstance Js.t Js.readonly_prop
      method lastChild : Dom_svg.elementInstance Js.t Js.readonly_prop
      method nextSibling : Dom_svg.elementInstance Js.t Js.readonly_prop
      method onclick :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondblclick :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondrag :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragend :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragenter :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragleave :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragover :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragstart :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondrop :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeydown :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeypress :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeyup :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmousedown :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmousemove :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseout :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseover :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseup :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onscroll :
        ('Js.t, Dom_html.event Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method parentNode : Dom_svg.elementInstance Js.t Js.readonly_prop
      method previousSibling : Dom_svg.elementInstance Js.t Js.readonly_prop
    end
  and elementInstanceList =
    object
      method item : int -> Dom_svg.elementInstance Js.t
      method length : int Js.readonly_prop
    end
  and imageElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : Dom_svg.animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        Dom_svg.animatedBoolean Js.t Js.readonly_prop
      method farthestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getBBox : Dom_svg.rect Js.t Js.meth
      method getCTM : Dom_svg.matrix Js.t Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getScreenCTM : Dom_svg.matrix Js.t Js.meth
      method getTransformToElement :
        Dom_svg.element Js.t -> Dom_svg.matrix Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method height : Dom_svg.animatedLength Js.t Js.readonly_prop
      method href : Dom_svg.animatedString Js.t Js.readonly_prop
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nearestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : Dom_svg.svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : Dom_svg.stringList Js.t Js.readonly_prop
      method requiredFeatures : Dom_svg.stringList Js.t Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : Dom_svg.stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method transform : Dom_svg.animatedTransformList Js.t Js.readonly_prop
      method viewportElement : Dom_svg.element Js.t Js.readonly_prop
      method width : Dom_svg.animatedLength Js.t Js.readonly_prop
      method x : Dom_svg.animatedLength Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
      method y : Dom_svg.animatedLength Js.t Js.readonly_prop
    end
  and switchElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : Dom_svg.animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        Dom_svg.animatedBoolean Js.t Js.readonly_prop
      method farthestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getBBox : Dom_svg.rect Js.t Js.meth
      method getCTM : Dom_svg.matrix Js.t Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getScreenCTM : Dom_svg.matrix Js.t Js.meth
      method getTransformToElement :
        Dom_svg.element Js.t -> Dom_svg.matrix Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nearestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : Dom_svg.svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : Dom_svg.stringList Js.t Js.readonly_prop
      method requiredFeatures : Dom_svg.stringList Js.t Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : Dom_svg.stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method transform : Dom_svg.animatedTransformList Js.t Js.readonly_prop
      method viewportElement : Dom_svg.element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
    end
  and styleElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method media : Js.js_string Js.t Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : Dom_svg.svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method tagName : Js.js_string Js.t Js.readonly_prop
      method title : Js.js_string Js.t Js.prop
      method type_ : Js.js_string Js.t Js.prop
      method viewportElement : Dom_svg.element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
    end
  and point =
    object
      method matrixTransform :
        Dom_svg.matrix Js.t -> Dom_svg.point Js.t Js.meth
      method x : float Js.readonly_prop
      method y : float Js.readonly_prop
    end
  and pointList = [Dom_svg.point Js.t] list
  and matrix =
    object
      method a : float Js.readonly_prop
      method b : float Js.readonly_prop
      method c : float Js.readonly_prop
      method d : float Js.readonly_prop
      method e : float Js.readonly_prop
      method f : float Js.readonly_prop
      method flipX : Dom_svg.matrix Js.t Js.meth
      method flipY : Dom_svg.matrix Js.t Js.meth
      method inverse : Dom_svg.matrix Js.t Js.meth
      method multiply : Dom_svg.matrix Js.t -> Dom_svg.matrix Js.t Js.meth
      method rotate : float -> Dom_svg.matrix Js.t Js.meth
      method rotateFromVector : float -> float -> Dom_svg.matrix Js.t Js.meth
      method scale : float -> Dom_svg.matrix Js.t Js.meth
      method scaleNonUniform : float -> float -> Dom_svg.matrix Js.t Js.meth
      method skewX : float -> Dom_svg.matrix Js.t Js.meth
      method skewY : float -> Dom_svg.matrix Js.t Js.meth
      method translate : float -> float -> Dom_svg.matrix Js.t Js.meth
    end
  and transform =
    object
      method _type : Dom_svg.transformType Js.readonly_prop
      method angle : float Js.readonly_prop
      method matrix : Dom_svg.matrix Js.t Js.readonly_prop
      method setMatrix : Dom_svg.matrix Js.t -> unit Js.meth
      method setRotate : float -> float -> float -> unit Js.meth
      method setScale : float -> float -> unit Js.meth
      method setSkewX : float -> unit Js.meth
      method setSkewY : float -> unit Js.meth
      method setTranslate : float -> float -> unit Js.meth
    end
  and transformList =
    object
      method appendItem : transform Js.t -> transform Js.t Js.meth
      method clear : unit Js.meth
      method consolidate : Dom_svg.transform Js.t Js.meth
      method createSVGTransformFromMatrix :
        Dom_svg.matrix -> Dom_svg.transform Js.t Js.meth
      method getItem : int -> transform Js.t Js.meth
      method initialize : transform Js.t -> transform Js.t Js.meth
      method insertItemBefore :
        transform Js.t -> int -> transform Js.t Js.meth
      method numberOfItems : int Js.readonly_prop
      method removeItem : int -> transform Js.t Js.meth
      method replaceItem : transform Js.t -> int -> transform Js.t Js.meth
    end
  and animatedTransformList = [Dom_svg.transformList Js.t] animated
  and preserveAspectRatio =
    object
      method align : Dom_svg.alignmentType Js.readonly_prop
      method meetOrSlice : Dom_svg.meetOrSliceType Js.readonly_prop
    end
  and animatedPreserveAspectRatio =
    [Dom_svg.preserveAspectRatio Js.t] animated
  and pathSeg =
    object
      method pathSegType : Dom_svg.pathSegmentType Js.readonly_prop
      method pathSegTypeAsLetter : Js.js_string Js.t Js.readonly_prop
    end
  and pathSegClosePath = pathSeg
  and pathSegMoveto =
    object
      method pathSegType : Dom_svg.pathSegmentType Js.readonly_prop
      method pathSegTypeAsLetter : Js.js_string Js.t Js.readonly_prop
      method x : float Js.prop
      method y : float Js.prop
    end
  and pathSegLineto =
    object
      method pathSegType : Dom_svg.pathSegmentType Js.readonly_prop
      method pathSegTypeAsLetter : Js.js_string Js.t Js.readonly_prop
      method x : float Js.prop
      method y : float Js.prop
    end
  and pathSegCurvetoCubic =
    object
      method pathSegType : Dom_svg.pathSegmentType Js.readonly_prop
      method pathSegTypeAsLetter : Js.js_string Js.t Js.readonly_prop
      method x : float Js.prop
      method x1 : float Js.prop
      method x2 : float Js.prop
      method y : float Js.prop
      method y1 : float Js.prop
      method y2 : float Js.prop
    end
  and pathSegCurvetoQuadratic =
    object
      method pathSegType : Dom_svg.pathSegmentType Js.readonly_prop
      method pathSegTypeAsLetter : Js.js_string Js.t Js.readonly_prop
      method x : float Js.prop
      method x1 : float Js.prop
      method y : float Js.prop
      method y1 : float Js.prop
    end
  and pathSegArc =
    object
      method angle : float Js.prop
      method largeArcFlag : bool Js.t Js.prop
      method pathSegType : Dom_svg.pathSegmentType Js.readonly_prop
      method pathSegTypeAsLetter : Js.js_string Js.t Js.readonly_prop
      method r1 : float Js.prop
      method r2 : float Js.prop
      method sweepFlag : bool Js.t Js.prop
      method y : float Js.prop
    end
  and pathSegLinetoHorizontal =
    object
      method pathSegType : Dom_svg.pathSegmentType Js.readonly_prop
      method pathSegTypeAsLetter : Js.js_string Js.t Js.readonly_prop
      method x : float
    end
  and pathSegLinetoVertical =
    object
      method pathSegType : Dom_svg.pathSegmentType Js.readonly_prop
      method pathSegTypeAsLetter : Js.js_string Js.t Js.readonly_prop
      method y : float
    end
  and pathSegCurvetoCubicSmooth =
    object
      method pathSegType : Dom_svg.pathSegmentType Js.readonly_prop
      method pathSegTypeAsLetter : Js.js_string Js.t Js.readonly_prop
      method x : float
      method x2 : float
      method y : float
      method y2 : float
    end
  and pathSegCurvetoQuadraticSmooth =
    object
      method pathSegType : Dom_svg.pathSegmentType Js.readonly_prop
      method pathSegTypeAsLetter : Js.js_string Js.t Js.readonly_prop
      method x : float
      method y : float
    end
  and pathSegList = [Dom_svg.pathSeg Js.t] list
  and animatedPathData =
    object
      method animatedNormalizedPathSegList : Dom_svg.pathSegList Js.t Js.prop
      method animatedPathSegList : Dom_svg.pathSegList Js.t Js.prop
      method normalizedPathSegList : Dom_svg.pathSegList Js.t Js.prop
      method pathSegList : Dom_svg.pathSegList Js.t Js.prop
    end
  and pathElement =
    object
      method animatedNormalizedPathSegList : Dom_svg.pathSegList Js.t Js.prop
      method animatedPathSegList : Dom_svg.pathSegList Js.t Js.prop
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : Dom_svg.animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method createSVGPathSegArcAbs :
        float ->
        float ->
        float ->
        float ->
        float -> bool Js.t -> bool Js.t -> Dom_svg.pathSegArc Js.meth
      method createSVGPathSegArcRel :
        float ->
        float ->
        float ->
        float ->
        float -> bool Js.t -> bool Js.t -> Dom_svg.pathSegArc Js.meth
      method createSVGPathSegClosePath : Dom_svg.pathSegClosePath Js.meth
      method createSVGPathSegCurvetoCubicAbs :
        float ->
        float ->
        float ->
        float -> float -> float -> Dom_svg.pathSegCurvetoCubic Js.meth
      method createSVGPathSegCurvetoCubicRel :
        float ->
        float ->
        float ->
        float -> float -> float -> Dom_svg.pathSegCurvetoCubic Js.meth
      method createSVGPathSegCurvetoCubicSmoothAbs :
        float ->
        float -> float -> float -> Dom_svg.pathSegCurvetoCubicSmooth Js.meth
      method createSVGPathSegCurvetoCubicSmoothRel :
        float ->
        float -> float -> float -> Dom_svg.pathSegCurvetoCubicSmooth Js.meth
      method createSVGPathSegCurvetoQuadraticAbs :
        float ->
        float -> float -> float -> Dom_svg.pathSegCurvetoQuadratic Js.meth
      method createSVGPathSegCurvetoQuadraticRel :
        float ->
        float -> float -> float -> Dom_svg.pathSegCurvetoQuadratic Js.meth
      method createSVGPathSegCurvetoQuadraticSmoothAbs :
        float -> float -> Dom_svg.pathSegCurvetoQuadraticSmooth Js.meth
      method createSVGPathSegCurvetoQuadraticSmoothRel :
        float -> float -> Dom_svg.pathSegCurvetoQuadraticSmooth Js.meth
      method createSVGPathSegLinetoAbs :
        float -> float -> Dom_svg.pathSegLineto Js.meth
      method createSVGPathSegLinetoHorizontalAbs :
        float -> Dom_svg.pathSegLinetoHorizontal Js.meth
      method createSVGPathSegLinetoHorizontalRel :
        float -> Dom_svg.pathSegLinetoHorizontal Js.meth
      method createSVGPathSegLinetoRel :
        float -> float -> Dom_svg.pathSegLineto Js.meth
      method createSVGPathSegLinetoVerticalAbs :
        float -> Dom_svg.pathSegLinetoVertical Js.meth
      method createSVGPathSegLinetoVerticalRel :
        float -> Dom_svg.pathSegLinetoVertical Js.meth
      method createSVGPathSegMovetoAbs :
        float -> float -> Dom_svg.pathSegMoveto Js.meth
      method createSVGPathSegMovetoRel :
        float -> float -> Dom_svg.pathSegMoveto Js.meth
      method externalResourcesRequired :
        Dom_svg.animatedBoolean Js.t Js.readonly_prop
      method farthestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getBBox : Dom_svg.rect Js.t Js.meth
      method getCTM : Dom_svg.matrix Js.t Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getPathSegAtLength : float -> int
      method getPointAtLength : float -> Dom_svg.point Js.t Js.meth
      method getScreenCTM : Dom_svg.matrix Js.t Js.meth
      method getTotalLength : float Js.meth
      method getTransformToElement :
        Dom_svg.element Js.t -> Dom_svg.matrix Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nearestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method normalizedPathSegList : Dom_svg.pathSegList Js.t Js.prop
      method ownerSVGElement : Dom_svg.svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method pathLength : Dom_svg.animatedNumber Js.t Js.readonly_prop
      method pathSegList : Dom_svg.pathSegList Js.t Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : Dom_svg.stringList Js.t Js.readonly_prop
      method requiredFeatures : Dom_svg.stringList Js.t Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : Dom_svg.stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method transform : Dom_svg.animatedTransformList Js.t Js.readonly_prop
      method viewportElement : Dom_svg.element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
    end
  and rectElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : Dom_svg.animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        Dom_svg.animatedBoolean Js.t Js.readonly_prop
      method farthestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getBBox : Dom_svg.rect Js.t Js.meth
      method getCTM : Dom_svg.matrix Js.t Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getScreenCTM : Dom_svg.matrix Js.t Js.meth
      method getTransformToElement :
        Dom_svg.element Js.t -> Dom_svg.matrix Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method height : Dom_svg.animatedLength Js.t Js.readonly_prop
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nearestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : Dom_svg.svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : Dom_svg.stringList Js.t Js.readonly_prop
      method requiredFeatures : Dom_svg.stringList Js.t Js.readonly_prop
      method rx : Dom_svg.animatedLength Js.t Js.readonly_prop
      method ry : Dom_svg.animatedLength Js.t Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : Dom_svg.stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method transform : Dom_svg.animatedTransformList Js.t Js.readonly_prop
      method viewportElement : Dom_svg.element Js.t Js.readonly_prop
      method width : Dom_svg.animatedLength Js.t Js.readonly_prop
      method x : Dom_svg.animatedLength Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
      method y : Dom_svg.animatedLength Js.t Js.readonly_prop
    end
  and circleElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : Dom_svg.animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method cx : Dom_svg.animatedLength Js.t Js.readonly_prop
      method cy : Dom_svg.animatedLength Js.t Js.readonly_prop
      method externalResourcesRequired :
        Dom_svg.animatedBoolean Js.t Js.readonly_prop
      method farthestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getBBox : Dom_svg.rect Js.t Js.meth
      method getCTM : Dom_svg.matrix Js.t Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getScreenCTM : Dom_svg.matrix Js.t Js.meth
      method getTransformToElement :
        Dom_svg.element Js.t -> Dom_svg.matrix Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nearestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : Dom_svg.svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method r : Dom_svg.animatedLength Js.t Js.readonly_prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : Dom_svg.stringList Js.t Js.readonly_prop
      method requiredFeatures : Dom_svg.stringList Js.t Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : Dom_svg.stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method transform : Dom_svg.animatedTransformList Js.t Js.readonly_prop
      method viewportElement : Dom_svg.element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
    end
  and ellipseElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : Dom_svg.animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method cx : Dom_svg.animatedLength Js.t Js.readonly_prop
      method cy : Dom_svg.animatedLength Js.t Js.readonly_prop
      method externalResourcesRequired :
        Dom_svg.animatedBoolean Js.t Js.readonly_prop
      method farthestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getBBox : Dom_svg.rect Js.t Js.meth
      method getCTM : Dom_svg.matrix Js.t Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getScreenCTM : Dom_svg.matrix Js.t Js.meth
      method getTransformToElement :
        Dom_svg.element Js.t -> Dom_svg.matrix Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nearestViewportElement : Dom_svg.element Js.t Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : Dom_svg.svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : Dom_svg.stringList Js.t Js.readonly_prop
      method requiredFeatures : Dom_svg.stringList Js.t Js.readonly_prop
      method rx : Dom_svg.animatedLength Js.t Js.readonly_prop
      method ry : Dom_svg.animatedLength Js.t Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : Dom_svg.stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method transform : Dom_svg.animatedTransformList Js.t Js.readonly_prop
      method viewportElement : Dom_svg.element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
    end
  class type lineElement =
    object ('a)
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method farthestViewportElement : element Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getBBox : rect Js.t Js.meth
      method getCTM : matrix Js.t Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getScreenCTM : matrix Js.t Js.meth
      method getTransformToElement : element Js.t -> matrix Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nearestViewportElement : element Js.t Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method onclick :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondblclick :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondrag :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragend :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragenter :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragleave :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragover :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragstart :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondrop :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeydown :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeypress :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeyup :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmousedown :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmousemove :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseout :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseover :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseup :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onscroll :
        ('Js.t, Dom_html.event Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : stringList Js.t Js.readonly_prop
      method requiredFeatures : stringList Js.t Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method transform : animatedTransformList Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method x1 : Dom_svg.animatedLength Js.t Js.readonly_prop
      method x2 : Dom_svg.animatedLength Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
      method y1 : Dom_svg.animatedLength Js.t Js.readonly_prop
      method y2 : Dom_svg.animatedLength Js.t Js.readonly_prop
    end
  and animatedPoints =
    object
      method animatedpoints : Dom_svg.pointList Js.t Js.readonly_prop
      method points : Dom_svg.pointList Js.t Js.readonly_prop
    end
  and polyLineElement =
    object
      method animatedpoints : Dom_svg.pointList Js.t Js.readonly_prop
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method farthestViewportElement : element Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getBBox : rect Js.t Js.meth
      method getCTM : matrix Js.t Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getScreenCTM : matrix Js.t Js.meth
      method getTransformToElement : element Js.t -> matrix Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nearestViewportElement : element Js.t Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method points : Dom_svg.pointList Js.t Js.readonly_prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : stringList Js.t Js.readonly_prop
      method requiredFeatures : stringList Js.t Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method transform : animatedTransformList Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
    end
  and polygonElement =
    object
      method animatedpoints : Dom_svg.pointList Js.t Js.readonly_prop
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method farthestViewportElement : element Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getBBox : rect Js.t Js.meth
      method getCTM : matrix Js.t Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getScreenCTM : matrix Js.t Js.meth
      method getTransformToElement : element Js.t -> matrix Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nearestViewportElement : element Js.t Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method points : Dom_svg.pointList Js.t Js.readonly_prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : stringList Js.t Js.readonly_prop
      method requiredFeatures : stringList Js.t Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method transform : animatedTransformList Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
    end
  and textContentElement =
    object ('a)
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getCharNumAtPosition : Dom_svg.point -> int Js.meth
      method getComputedTextLength : float Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getEndPositionOfChar : int -> Dom_svg.point Js.t Js.meth
      method getExtentOfChar : int -> Dom_svg.rect Js.t Js.meth
      method getNumberOfChars : int Js.meth
      method getRotationOfChar : int -> float Js.meth
      method getStartPositionOfChar : int -> Dom_svg.point Js.t Js.meth
      method getSubStringLength : int -> int -> float Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method lengthAdjust :
        Dom_svg.lengthAdjust Dom_svg.animated Js.t Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method onclick :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondblclick :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondrag :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragend :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragenter :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragleave :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragover :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragstart :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondrop :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeydown :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeypress :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeyup :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmousedown :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmousemove :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseout :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseover :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseup :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onscroll :
        ('Js.t, Dom_html.event Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : stringList Js.t Js.readonly_prop
      method requiredFeatures : stringList Js.t Js.readonly_prop
      method selectSubString : int -> int -> unit Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method textLength : Dom_svg.animatedLength Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
    end
  and textPositioningElement =
    object ('a)
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method dx : Dom_svg.animatedLengthList Js.t Js.readonly_prop
      method dy : Dom_svg.animatedLengthList Js.t Js.readonly_prop
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getCharNumAtPosition : Dom_svg.point -> int Js.meth
      method getComputedTextLength : float Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getEndPositionOfChar : int -> Dom_svg.point Js.t Js.meth
      method getExtentOfChar : int -> Dom_svg.rect Js.t Js.meth
      method getNumberOfChars : int Js.meth
      method getRotationOfChar : int -> float Js.meth
      method getStartPositionOfChar : int -> Dom_svg.point Js.t Js.meth
      method getSubStringLength : int -> int -> float Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method lengthAdjust :
        Dom_svg.lengthAdjust Dom_svg.animated Js.t Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method onclick :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondblclick :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondrag :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragend :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragenter :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragleave :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragover :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragstart :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondrop :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeydown :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeypress :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeyup :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmousedown :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmousemove :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseout :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseover :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseup :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onscroll :
        ('Js.t, Dom_html.event Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : stringList Js.t Js.readonly_prop
      method requiredFeatures : stringList Js.t Js.readonly_prop
      method rotate : Dom_svg.animatedNumberList Js.t Js.readonly_prop
      method selectSubString : int -> int -> unit Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method textLength : Dom_svg.animatedLength Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method x : Dom_svg.animatedLengthList Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
      method y : Dom_svg.animatedLengthList Js.t Js.readonly_prop
    end
  and textElement =
    object ('a)
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method dx : Dom_svg.animatedLengthList Js.t Js.readonly_prop
      method dy : Dom_svg.animatedLengthList Js.t Js.readonly_prop
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method farthestViewportElement : element Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getBBox : rect Js.t Js.meth
      method getCTM : matrix Js.t Js.meth
      method getCharNumAtPosition : Dom_svg.point -> int Js.meth
      method getComputedTextLength : float Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getEndPositionOfChar : int -> Dom_svg.point Js.t Js.meth
      method getExtentOfChar : int -> Dom_svg.rect Js.t Js.meth
      method getNumberOfChars : int Js.meth
      method getRotationOfChar : int -> float Js.meth
      method getScreenCTM : matrix Js.t Js.meth
      method getStartPositionOfChar : int -> Dom_svg.point Js.t Js.meth
      method getSubStringLength : int -> int -> float Js.meth
      method getTransformToElement : element Js.t -> matrix Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method lengthAdjust :
        Dom_svg.lengthAdjust Dom_svg.animated Js.t Js.readonly_prop
      method nearestViewportElement : element Js.t Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method onclick :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondblclick :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondrag :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragend :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragenter :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragleave :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragover :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragstart :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondrop :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeydown :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeypress :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeyup :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmousedown :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmousemove :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseout :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseover :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseup :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onscroll :
        ('Js.t, Dom_html.event Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : stringList Js.t Js.readonly_prop
      method requiredFeatures : stringList Js.t Js.readonly_prop
      method rotate : Dom_svg.animatedNumberList Js.t Js.readonly_prop
      method selectSubString : int -> int -> unit Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method textLength : Dom_svg.animatedLength Js.t Js.readonly_prop
      method transform : animatedTransformList Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method x : Dom_svg.animatedLengthList Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
      method y : Dom_svg.animatedLengthList Js.t Js.readonly_prop
    end
  and tspanElement = textPositioningElement
  and trefElement =
    object ('a)
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method dx : Dom_svg.animatedLengthList Js.t Js.readonly_prop
      method dy : Dom_svg.animatedLengthList Js.t Js.readonly_prop
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getCharNumAtPosition : Dom_svg.point -> int Js.meth
      method getComputedTextLength : float Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getEndPositionOfChar : int -> Dom_svg.point Js.t Js.meth
      method getExtentOfChar : int -> Dom_svg.rect Js.t Js.meth
      method getNumberOfChars : int Js.meth
      method getRotationOfChar : int -> float Js.meth
      method getStartPositionOfChar : int -> Dom_svg.point Js.t Js.meth
      method getSubStringLength : int -> int -> float Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method href : animatedString Js.t Js.readonly_prop
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method lengthAdjust :
        Dom_svg.lengthAdjust Dom_svg.animated Js.t Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method onclick :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondblclick :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondrag :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragend :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragenter :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragleave :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragover :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragstart :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondrop :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeydown :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeypress :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeyup :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmousedown :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmousemove :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseout :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseover :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseup :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onscroll :
        ('Js.t, Dom_html.event Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : stringList Js.t Js.readonly_prop
      method requiredFeatures : stringList Js.t Js.readonly_prop
      method rotate : Dom_svg.animatedNumberList Js.t Js.readonly_prop
      method selectSubString : int -> int -> unit Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method textLength : Dom_svg.animatedLength Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method x : Dom_svg.animatedLengthList Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
      method y : Dom_svg.animatedLengthList Js.t Js.readonly_prop
    end
  and textPathElementMethod = [Dom_svg.textPathMethodType] animated
  and textPathElementSpacing = [Dom_svg.textPathSpacingType] animated
  and textPathElement =
    object ('a)
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getCharNumAtPosition : Dom_svg.point -> int Js.meth
      method getComputedTextLength : float Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getEndPositionOfChar : int -> Dom_svg.point Js.t Js.meth
      method getExtentOfChar : int -> Dom_svg.rect Js.t Js.meth
      method getNumberOfChars : int Js.meth
      method getRotationOfChar : int -> float Js.meth
      method getStartPositionOfChar : int -> Dom_svg.point Js.t Js.meth
      method getSubStringLength : int -> int -> float Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method href : animatedString Js.t Js.readonly_prop
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method lengthAdjust :
        Dom_svg.lengthAdjust Dom_svg.animated Js.t Js.readonly_prop
      method method_ : Dom_svg.textPathElementMethod Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method onclick :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondblclick :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondrag :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragend :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragenter :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragleave :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragover :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragstart :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondrop :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeydown :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeypress :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeyup :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmousedown :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmousemove :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseout :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseover :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseup :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onscroll :
        ('Js.t, Dom_html.event Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : stringList Js.t Js.readonly_prop
      method requiredFeatures : stringList Js.t Js.readonly_prop
      method selectSubString : int -> int -> unit Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method spacing : Dom_svg.textPathElementSpacing Js.readonly_prop
      method startOffset : Dom_svg.animatedLength Js.t Js.readonly_prop
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method textLength : Dom_svg.animatedLength Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
    end
  and altGlyphElement =
    object ('a)
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method dx : Dom_svg.animatedLengthList Js.t Js.readonly_prop
      method dy : Dom_svg.animatedLengthList Js.t Js.readonly_prop
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method format : Js.js_string Js.t Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getCharNumAtPosition : Dom_svg.point -> int Js.meth
      method getComputedTextLength : float Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getEndPositionOfChar : int -> Dom_svg.point Js.t Js.meth
      method getExtentOfChar : int -> Dom_svg.rect Js.t Js.meth
      method getNumberOfChars : int Js.meth
      method getRotationOfChar : int -> float Js.meth
      method getStartPositionOfChar : int -> Dom_svg.point Js.t Js.meth
      method getSubStringLength : int -> int -> float Js.meth
      method glyphRef : Js.js_string Js.t Js.prop
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method href : animatedString Js.t Js.readonly_prop
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method lengthAdjust :
        Dom_svg.lengthAdjust Dom_svg.animated Js.t Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method onclick :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondblclick :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondrag :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragend :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragenter :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragleave :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragover :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondragstart :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ondrop :
        ('Js.t, Dom_html.dragEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeydown :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeypress :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onkeyup :
        ('Js.t, Dom_html.keyboardEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmousedown :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmousemove :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseout :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseover :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onmouseup :
        ('Js.t, Dom_html.mouseEvent Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method onscroll :
        ('Js.t, Dom_html.event Js.t) Dom_html.event_listener
        Js.writeonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : stringList Js.t Js.readonly_prop
      method requiredFeatures : stringList Js.t Js.readonly_prop
      method rotate : Dom_svg.animatedNumberList Js.t Js.readonly_prop
      method selectSubString : int -> int -> unit Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method textLength : Dom_svg.animatedLength Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method x : Dom_svg.animatedLengthList Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
      method y : Dom_svg.animatedLengthList Js.t Js.readonly_prop
    end
  and altGlyphDefElement = element
  and altGlyphItemElement = element
  and glyphRefElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method dx : float Js.prop
      method dy : float Js.prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method format : Js.js_string Js.t Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method glyphRef : Js.js_string Js.t Js.prop
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method href : animatedString Js.t Js.readonly_prop
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method x : float Js.prop
      method xmlbase : Js.js_string Js.t Js.prop
      method y : float Js.prop
    end
  and animatedSpreadMethod = [Dom_svg.spreadMethodType] animated
  and gradientElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method gradientTransform :
        Dom_svg.animatedTransformList Js.t Js.readonly_prop
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method href : animatedString Js.t Js.readonly_prop
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method spreadMethod :
        Dom_svg.animatedSpreadMethod Js.t Js.readonly_prop
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
    end
  and linearGradientElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method gradientTransform :
        Dom_svg.animatedTransformList Js.t Js.readonly_prop
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method href : animatedString Js.t Js.readonly_prop
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method spreadMethod :
        Dom_svg.animatedSpreadMethod Js.t Js.readonly_prop
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method x1 : Dom_svg.animatedLength Js.t Js.readonly_prop
      method x2 : Dom_svg.animatedLength Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method y1 : Dom_svg.animatedLength Js.t Js.readonly_prop
      method y2 : Dom_svg.animatedLength Js.t Js.readonly_prop
    end
  and radialGradientElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method cx : Dom_svg.animatedLength Js.t Js.readonly_prop
      method cy : Dom_svg.animatedLength Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method fx : Dom_svg.animatedLength Js.t Js.readonly_prop
      method fy : Dom_svg.animatedLength Js.t Js.readonly_prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method gradientTransform :
        Dom_svg.animatedTransformList Js.t Js.readonly_prop
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method href : animatedString Js.t Js.readonly_prop
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method r : Dom_svg.animatedLength Js.t Js.readonly_prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method spreadMethod :
        Dom_svg.animatedSpreadMethod Js.t Js.readonly_prop
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
    end
  and stopElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method offset : Dom_svg.animatedNumber Js.t Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
    end
  and patternElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method height : Dom_svg.animatedLength Js.t Js.readonly_prop
      method href : animatedString Js.t Js.readonly_prop
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method patternTransform :
        Dom_svg.animatedTransformList Js.t Js.readonly_prop
      method preserveAspectRatio :
        animatedPreserveAspectRatio Js.t Js.readonly_prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : stringList Js.t Js.readonly_prop
      method requiredFeatures : stringList Js.t Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method viewBox : animatedRect Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method width : Dom_svg.animatedLength Js.t Js.readonly_prop
      method x : Dom_svg.animatedLength Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
      method y : Dom_svg.animatedLength Js.t Js.readonly_prop
    end
  and clipPathElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method farthestViewportElement : element Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getBBox : rect Js.t Js.meth
      method getCTM : matrix Js.t Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getScreenCTM : matrix Js.t Js.meth
      method getTransformToElement : element Js.t -> matrix Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nearestViewportElement : element Js.t Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : stringList Js.t Js.readonly_prop
      method requiredFeatures : stringList Js.t Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method transform : animatedTransformList Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
    end
  and maskElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method height : Dom_svg.animatedLength Js.t Js.readonly_prop
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : stringList Js.t Js.readonly_prop
      method requiredFeatures : stringList Js.t Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method width : Dom_svg.animatedLength Js.t Js.readonly_prop
      method x : Dom_svg.animatedLength Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
      method y : Dom_svg.animatedLength Js.t Js.readonly_prop
    end
  and filterElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method filterResX : Dom_svg.animatedInteger Js.t Js.readonly_prop
      method filterResY : Dom_svg.animatedInteger Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method height : Dom_svg.animatedLength Js.t Js.readonly_prop
      method href : animatedString Js.t Js.readonly_prop
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setFilterRes : int -> int -> unit Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method width : Dom_svg.animatedLength Js.t Js.readonly_prop
      method x : Dom_svg.animatedLength Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
      method y : Dom_svg.animatedLength Js.t Js.readonly_prop
    end
  and cursorElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method href : animatedString Js.t Js.readonly_prop
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : stringList Js.t Js.readonly_prop
      method requiredFeatures : stringList Js.t Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method systemLanguage : stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method x : Dom_svg.animatedLength Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method y : Dom_svg.animatedLength Js.t Js.readonly_prop
    end
  and aElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method farthestViewportElement : element Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getBBox : rect Js.t Js.meth
      method getCTM : matrix Js.t Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getScreenCTM : matrix Js.t Js.meth
      method getTransformToElement : element Js.t -> matrix Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method href : animatedString Js.t Js.readonly_prop
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nearestViewportElement : element Js.t Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : stringList Js.t Js.readonly_prop
      method requiredFeatures : stringList Js.t Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method target : Dom_svg.animatedString Js.t Js.readonly_prop
      method transform : animatedTransformList Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
    end
  and viewElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method preserveAspectRatio :
        animatedPreserveAspectRatio Js.t Js.readonly_prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method tagName : Js.js_string Js.t Js.readonly_prop
      method viewBox : animatedRect Js.t Js.readonly_prop
      method viewTarget : Dom_svg.stringList Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method zoomAndPan : zoomAndPanType Js.prop
    end
  and scriptElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method href : animatedString Js.t Js.readonly_prop
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method tagName : Js.js_string Js.t Js.readonly_prop
      method type_ : Js.js_string Js.t Js.prop
      method viewportElement : element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
    end
  and animationElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getCurrentTime : float Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getSimpleDuration : float Js.meth
      method getStartTime : float Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : stringList Js.t Js.readonly_prop
      method requiredFeatures : stringList Js.t Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method systemLanguage : stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method targetElement : Dom_svg.element Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
    end
  and animateElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getCurrentTime : float Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getSimpleDuration : float Js.meth
      method getStartTime : float Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : stringList Js.t Js.readonly_prop
      method requiredFeatures : stringList Js.t Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method targetElement : Dom_svg.element Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
    end
  and setElement = animationElement
  and animateMotionElement = animationElement
  and mPathElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method href : animatedString Js.t Js.readonly_prop
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method tagName : Js.js_string Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
    end
  and animateColorElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getCurrentTime : float Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getSimpleDuration : float Js.meth
      method getStartTime : float Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : stringList Js.t Js.readonly_prop
      method requiredFeatures : stringList Js.t Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method targetElement : Dom_svg.element Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
    end
  and animateTransformElement = animationElement
  and fontElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
    end
  and glyphElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
    end
  class type fontFaceElement = element
  class type fontFaceSrcElement = element
  class type fontFaceUriElement = element
  class type fontFaceFormatElement = element
  class type fontFaceNameElement = element
  class type metadataElement = element
  class type foreignObjectElement =
    object
      method appendChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method attributes : Dom.attr Dom.namedNodeMap Js.t Js.readonly_prop
      method childNodes : Dom.node Dom.nodeList Js.t Js.prop
      method className : animatedString Js.t Js.readonly_prop
      method cloneNode : bool Js.t -> Dom.node Js.t Js.meth
      method compareDocumentPosition :
        Dom.node Js.t -> Dom.DocumentPosition.t Js.meth
      method externalResourcesRequired :
        animatedBoolean Js.t Js.readonly_prop
      method farthestViewportElement : element Js.t Js.readonly_prop
      method firstChild : Dom.node Js.t Js.opt Js.prop
      method getAttribute :
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
      method getAttributeNode :
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getAttributeNodeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Dom.attr Js.t Js.opt Js.meth
      method getBBox : rect Js.t Js.meth
      method getCTM : matrix Js.t Js.meth
      method getElementsByTagName :
        Js.js_string Js.t -> Dom.element Dom.nodeList Js.t Js.meth
      method getScreenCTM : matrix Js.t Js.meth
      method getTransformToElement : element Js.t -> matrix Js.t Js.meth
      method hasAttribute : Js.js_string Js.t -> bool Js.t Js.meth
      method hasAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> bool Js.t Js.meth
      method hasChildNodes : bool Js.t Js.meth
      method hasExtension : Js.js_string Js.t -> bool Js.t Js.meth
      method height : Dom_svg.animatedLength Js.t Js.readonly_prop
      method id : Js.js_string Js.t Js.prop
      method insertBefore :
        Dom.node Js.t -> Dom.node Js.t Js.opt -> Dom.node Js.t Js.meth
      method lastChild : Dom.node Js.t Js.opt Js.prop
      method nearestViewportElement : element Js.t Js.readonly_prop
      method nextSibling : Dom.node Js.t Js.opt Js.prop
      method nodeName : Js.js_string Js.t Js.readonly_prop
      method nodeType : Dom.nodeType Js.readonly_prop
      method nodeValue : Js.js_string Js.t Js.opt Js.readonly_prop
      method ownerSVGElement : svgElement Js.t Js.readonly_prop
      method parentNode : Dom.node Js.t Js.opt Js.prop
      method previousSibling : Dom.node Js.t Js.opt Js.prop
      method removeAttribute : Js.js_string Js.t -> unit Js.meth
      method removeAttributeNS :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method removeAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.meth
      method removeChild : Dom.node Js.t -> Dom.node Js.t Js.meth
      method replaceChild :
        Dom.node Js.t -> Dom.node Js.t -> Dom.node Js.t Js.meth
      method requiredExtensions : stringList Js.t Js.readonly_prop
      method requiredFeatures : stringList Js.t Js.readonly_prop
      method setAttribute :
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNS :
        Js.js_string Js.t ->
        Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
      method setAttributeNode : Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method setAttributeNodeNS :
        Dom.attr Js.t -> Dom.attr Js.t Js.opt Js.meth
      method style : Dom_html.cssStyleDeclaration Js.t Js.readonly_prop
      method systemLanguage : stringList Js.t Js.readonly_prop
      method tagName : Js.js_string Js.t Js.readonly_prop
      method transform : animatedTransformList Js.t Js.readonly_prop
      method viewportElement : element Js.t Js.readonly_prop
      method width : Dom_svg.animatedLength Js.t Js.readonly_prop
      method x : Dom_svg.animatedLength Js.t Js.readonly_prop
      method xmlbase : Js.js_string Js.t Js.prop
      method xmllang : Js.js_string Js.t Js.prop
      method xmlspace : Js.js_string Js.t Js.prop
      method y : Dom_svg.animatedLength Js.t Js.readonly_prop
    end
  val createElement : Dom_svg.document Js.t -> string -> Dom_svg.element Js.t
  val createA : Dom_svg.document Js.t -> Dom_svg.aElement Js.t
  val createAltGlyph : Dom_svg.document Js.t -> Dom_svg.altGlyphElement Js.t
  val createAltGlyphDef :
    Dom_svg.document Js.t -> Dom_svg.altGlyphDefElement Js.t
  val createAltGlyphItem :
    Dom_svg.document Js.t -> Dom_svg.altGlyphItemElement Js.t
  val createAnimate : Dom_svg.document Js.t -> Dom_svg.animateElement Js.t
  val createAnimateColor :
    Dom_svg.document Js.t -> Dom_svg.animateColorElement Js.t
  val createAnimateMotion :
    Dom_svg.document Js.t -> Dom_svg.animateMotionElement Js.t
  val createAnimateTransform :
    Dom_svg.document Js.t -> Dom_svg.animateTransformElement Js.t
  val createCircle : Dom_svg.document Js.t -> Dom_svg.circleElement Js.t
  val createClipPath : Dom_svg.document Js.t -> Dom_svg.clipPathElement Js.t
  val createCursor : Dom_svg.document Js.t -> Dom_svg.cursorElement Js.t
  val createDefs : Dom_svg.document Js.t -> Dom_svg.defsElement Js.t
  val createDesc : Dom_svg.document Js.t -> Dom_svg.descElement Js.t
  val createEllipse : Dom_svg.document Js.t -> Dom_svg.ellipseElement Js.t
  val createFilter : Dom_svg.document Js.t -> Dom_svg.filterElement Js.t
  val createFont : Dom_svg.document Js.t -> Dom_svg.fontElement Js.t
  val createFontFace : Dom_svg.document Js.t -> Dom_svg.fontElement Js.t
  val createFontFaceFormat :
    Dom_svg.document Js.t -> Dom_svg.fontElement Js.t
  val createFontFaceName : Dom_svg.document Js.t -> Dom_svg.fontElement Js.t
  val createFontFaceSrc : Dom_svg.document Js.t -> Dom_svg.fontElement Js.t
  val createFontFaceUri : Dom_svg.document Js.t -> Dom_svg.fontElement Js.t
  val createForeignObject :
    Dom_svg.document Js.t -> Dom_svg.foreignObjectElement Js.t
  val createG : Dom_svg.document Js.t -> Dom_svg.gElement Js.t
  val createGlyph : Dom_svg.document Js.t -> Dom_svg.glyphElement Js.t
  val createGlyphRef : Dom_svg.document Js.t -> Dom_svg.glyphElement Js.t
  val createhkern : Dom_svg.document Js.t -> Dom_svg.element Js.t
  val createImage : Dom_svg.document Js.t -> Dom_svg.imageElement Js.t
  val createLineElement : Dom_svg.document Js.t -> Dom_svg.lineElement Js.t
  val createLinearElement :
    Dom_svg.document Js.t -> Dom_svg.linearGradientElement Js.t
  val createMask : Dom_svg.document Js.t -> Dom_svg.maskElement Js.t
  val createMetaData : Dom_svg.document Js.t -> Dom_svg.metadataElement Js.t
  val createMissingGlyph : Dom_svg.document Js.t -> Dom_svg.glyphElement Js.t
  val createMPath : Dom_svg.document Js.t -> Dom_svg.mPathElement Js.t
  val createPath : Dom_svg.document Js.t -> Dom_svg.pathElement Js.t
  val createParttern : Dom_svg.document Js.t -> Dom_svg.patternElement Js.t
  val createPolygon : Dom_svg.document Js.t -> Dom_svg.polygonElement Js.t
  val createPolyline : Dom_svg.document Js.t -> Dom_svg.polyLineElement Js.t
  val createRadialgradient :
    Dom_svg.document Js.t -> Dom_svg.radialGradientElement Js.t
  val createRect : Dom_svg.document Js.t -> Dom_svg.rectElement Js.t
  val createScript : Dom_svg.document Js.t -> Dom_svg.scriptElement Js.t
  val createSet : Dom_svg.document Js.t -> Dom_svg.setElement Js.t
  val createStop : Dom_svg.document Js.t -> Dom_svg.stopElement Js.t
  val createStyle : Dom_svg.document Js.t -> Dom_svg.styleElement Js.t
  val createSvg : Dom_svg.document Js.t -> Dom_svg.svgElement Js.t
  val createSwitch : Dom_svg.document Js.t -> Dom_svg.switchElement Js.t
  val createSymbol : Dom_svg.document Js.t -> Dom_svg.symbolElement Js.t
  val createTextElement : Dom_svg.document Js.t -> Dom_svg.textElement Js.t
  val createTextpath : Dom_svg.document Js.t -> Dom_svg.textPathElement Js.t
  val createTitle : Dom_svg.document Js.t -> Dom_svg.titleElement Js.t
  val createTref : Dom_svg.document Js.t -> Dom_svg.trefElement Js.t
  val createTspan : Dom_svg.document Js.t -> Dom_svg.tspanElement Js.t
  val createUse : Dom_svg.document Js.t -> Dom_svg.useElement Js.t
  val createView : Dom_svg.document Js.t -> Dom_svg.viewElement Js.t
  val createvkern : Dom_svg.document Js.t -> Dom_svg.element Js.t
  val svg_element : Dom_svg.element Js.t Js.constr
  val getElementById : string -> Dom_svg.element Js.t
  module CoerceTo :
    sig
      val element : #Dom.node Js.t -> Dom_svg.element Js.t Js.opt
      val a : #Dom_svg.element Js.t -> Dom_svg.aElement Js.t Js.opt
      val altGlyph :
        #Dom_svg.element Js.t -> Dom_svg.altGlyphElement Js.t Js.opt
      val altGlyphDef :
        #Dom_svg.element Js.t -> Dom_svg.altGlyphDefElement Js.t Js.opt
      val altGlyphItem :
        #Dom_svg.element Js.t -> Dom_svg.altGlyphItemElement Js.t Js.opt
      val animate :
        #Dom_svg.element Js.t -> Dom_svg.animateElement Js.t Js.opt
      val animateColor :
        #Dom_svg.element Js.t -> Dom_svg.animateColorElement Js.t Js.opt
      val animateMotion :
        #Dom_svg.element Js.t -> Dom_svg.animateMotionElement Js.t Js.opt
      val animateTransform :
        #Dom_svg.element Js.t -> Dom_svg.animateTransformElement Js.t Js.opt
      val circle : #Dom_svg.element Js.t -> Dom_svg.circleElement Js.t Js.opt
      val clipPath :
        #Dom_svg.element Js.t -> Dom_svg.clipPathElement Js.t Js.opt
      val cursor : #Dom_svg.element Js.t -> Dom_svg.cursorElement Js.t Js.opt
      val defs : #Dom_svg.element Js.t -> Dom_svg.defsElement Js.t Js.opt
      val desc : #Dom_svg.element Js.t -> Dom_svg.descElement Js.t Js.opt
      val ellipse :
        #Dom_svg.element Js.t -> Dom_svg.ellipseElement Js.t Js.opt
      val filter : #Dom_svg.element Js.t -> Dom_svg.filterElement Js.t Js.opt
      val font : #Dom_svg.element Js.t -> Dom_svg.fontElement Js.t Js.opt
      val fontFace : #Dom_svg.element Js.t -> Dom_svg.fontElement Js.t Js.opt
      val fontFaceFormat :
        #Dom_svg.element Js.t -> Dom_svg.fontElement Js.t Js.opt
      val fontFaceName :
        #Dom_svg.element Js.t -> Dom_svg.fontElement Js.t Js.opt
      val fontFaceSrc :
        #Dom_svg.element Js.t -> Dom_svg.fontElement Js.t Js.opt
      val fontFaceUri :
        #Dom_svg.element Js.t -> Dom_svg.fontElement Js.t Js.opt
      val foreignObject :
        #Dom_svg.element Js.t -> Dom_svg.foreignObjectElement Js.t Js.opt
      val g : #Dom_svg.element Js.t -> Dom_svg.gElement Js.t Js.opt
      val glyph : #Dom_svg.element Js.t -> Dom_svg.glyphElement Js.t Js.opt
      val glyphRef :
        #Dom_svg.element Js.t -> Dom_svg.glyphElement Js.t Js.opt
      val hkern : #Dom_svg.element Js.t -> Dom_svg.element Js.t Js.opt
      val image : #Dom_svg.element Js.t -> Dom_svg.imageElement Js.t Js.opt
      val lineElement :
        #Dom_svg.element Js.t -> Dom_svg.lineElement Js.t Js.opt
      val linearElement :
        #Dom_svg.element Js.t -> Dom_svg.linearGradientElement Js.t Js.opt
      val mask : #Dom_svg.element Js.t -> Dom_svg.maskElement Js.t Js.opt
      val metaData :
        #Dom_svg.element Js.t -> Dom_svg.metadataElement Js.t Js.opt
      val missingGlyph :
        #Dom_svg.element Js.t -> Dom_svg.glyphElement Js.t Js.opt
      val mPath : #Dom_svg.element Js.t -> Dom_svg.mPathElement Js.t Js.opt
      val path : #Dom_svg.element Js.t -> Dom_svg.pathElement Js.t Js.opt
      val parttern :
        #Dom_svg.element Js.t -> Dom_svg.patternElement Js.t Js.opt
      val polygon :
        #Dom_svg.element Js.t -> Dom_svg.polygonElement Js.t Js.opt
      val polyline :
        #Dom_svg.element Js.t -> Dom_svg.polyLineElement Js.t Js.opt
      val radialgradient :
        #Dom_svg.element Js.t -> Dom_svg.radialGradientElement Js.t Js.opt
      val rect : #Dom_svg.element Js.t -> Dom_svg.rectElement Js.t Js.opt
      val script : #Dom_svg.element Js.t -> Dom_svg.scriptElement Js.t Js.opt
      val set : #Dom_svg.element Js.t -> Dom_svg.setElement Js.t Js.opt
      val stop : #Dom_svg.element Js.t -> Dom_svg.stopElement Js.t Js.opt
      val style : #Dom_svg.element Js.t -> Dom_svg.styleElement Js.t Js.opt
      val svg : #Dom_svg.element Js.t -> Dom_svg.svgElement Js.t Js.opt
      val switch : #Dom_svg.element Js.t -> Dom_svg.switchElement Js.t Js.opt
      val symbol : #Dom_svg.element Js.t -> Dom_svg.symbolElement Js.t Js.opt
      val textElement :
        #Dom_svg.element Js.t -> Dom_svg.textElement Js.t Js.opt
      val textpath :
        #Dom_svg.element Js.t -> Dom_svg.textPathElement Js.t Js.opt
      val title : #Dom_svg.element Js.t -> Dom_svg.titleElement Js.t Js.opt
      val tref : #Dom_svg.element Js.t -> Dom_svg.trefElement Js.t Js.opt
      val tspan : #Dom_svg.element Js.t -> Dom_svg.tspanElement Js.t Js.opt
      val use : #Dom_svg.element Js.t -> Dom_svg.useElement Js.t Js.opt
      val view : #Dom_svg.element Js.t -> Dom_svg.viewElement Js.t Js.opt
      val vkern : #Dom_svg.element Js.t -> Dom_svg.element Js.t Js.opt
    end
end