@rescript/webapi 0.1.0-experimental-d3d4b5f → 0.1.0-experimental-fb395c3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/package.json +2 -2
  2. package/src/CSSFontLoadingAPI/FontFaceSet.res +3 -79
  3. package/src/CanvasAPI/OffscreenCanvas.res +3 -79
  4. package/src/ChannelMessagingAPI/MessagePort.res +3 -81
  5. package/src/ClipboardAPI/Clipboard.res +3 -80
  6. package/src/DOMAPI/Animation.res +3 -80
  7. package/src/DOMAPI/CharacterData.res +68 -231
  8. package/src/DOMAPI/Comment.res +4 -271
  9. package/src/DOMAPI/Document.res +4 -178
  10. package/src/DOMAPI/DocumentFragment.res +58 -220
  11. package/src/DOMAPI/Element.res +313 -477
  12. package/src/DOMAPI/HTMLAnchorElement.res +3 -691
  13. package/src/DOMAPI/HTMLAreaElement.res +3 -685
  14. package/src/DOMAPI/HTMLAudioElement.res +3 -748
  15. package/src/DOMAPI/HTMLBRElement.res +3 -684
  16. package/src/DOMAPI/HTMLBaseElement.res +3 -685
  17. package/src/DOMAPI/HTMLBodyElement.res +3 -685
  18. package/src/DOMAPI/HTMLButtonElement.res +3 -691
  19. package/src/DOMAPI/HTMLCanvasElement.res +3 -691
  20. package/src/DOMAPI/HTMLDListElement.res +3 -688
  21. package/src/DOMAPI/HTMLDataElement.res +3 -685
  22. package/src/DOMAPI/HTMLDataListElement.res +3 -695
  23. package/src/DOMAPI/HTMLDialogElement.res +3 -691
  24. package/src/DOMAPI/HTMLDivElement.res +3 -684
  25. package/src/DOMAPI/HTMLElement.res +40 -666
  26. package/src/DOMAPI/HTMLEmbedElement.res +3 -688
  27. package/src/DOMAPI/HTMLFieldSetElement.res +3 -695
  28. package/src/DOMAPI/HTMLFormElement.res +3 -685
  29. package/src/DOMAPI/HTMLFrameSetElement.res +3 -695
  30. package/src/DOMAPI/HTMLHRElement.res +3 -684
  31. package/src/DOMAPI/HTMLHeadElement.res +3 -685
  32. package/src/DOMAPI/HTMLHeadingElement.res +3 -691
  33. package/src/DOMAPI/HTMLHtmlElement.res +3 -685
  34. package/src/DOMAPI/HTMLIFrameElement.res +3 -691
  35. package/src/DOMAPI/HTMLImageElement.res +3 -688
  36. package/src/DOMAPI/HTMLInputElement.res +3 -688
  37. package/src/DOMAPI/HTMLLIElement.res +3 -684
  38. package/src/DOMAPI/HTMLLabelElement.res +3 -688
  39. package/src/DOMAPI/HTMLLegendElement.res +3 -691
  40. package/src/DOMAPI/HTMLLinkElement.res +3 -685
  41. package/src/DOMAPI/HTMLMapElement.res +3 -684
  42. package/src/DOMAPI/HTMLMediaElement.res +49 -722
  43. package/src/DOMAPI/HTMLMenuElement.res +3 -685
  44. package/src/DOMAPI/HTMLMetaElement.res +3 -685
  45. package/src/DOMAPI/HTMLMeterElement.res +3 -688
  46. package/src/DOMAPI/HTMLModElement.res +3 -684
  47. package/src/DOMAPI/HTMLOListElement.res +3 -688
  48. package/src/DOMAPI/HTMLObjectElement.res +3 -691
  49. package/src/DOMAPI/HTMLOptGroupElement.res +3 -695
  50. package/src/DOMAPI/HTMLOptionElement.res +3 -691
  51. package/src/DOMAPI/HTMLOutputElement.res +3 -691
  52. package/src/DOMAPI/HTMLParagraphElement.res +3 -699
  53. package/src/DOMAPI/HTMLPictureElement.res +3 -691
  54. package/src/DOMAPI/HTMLPreElement.res +3 -684
  55. package/src/DOMAPI/HTMLProgressElement.res +3 -695
  56. package/src/DOMAPI/HTMLQuoteElement.res +3 -688
  57. package/src/DOMAPI/HTMLScriptElement.res +3 -691
  58. package/src/DOMAPI/HTMLSelectElement.res +4 -692
  59. package/src/DOMAPI/HTMLSlotElement.res +3 -685
  60. package/src/DOMAPI/HTMLSourceElement.res +3 -691
  61. package/src/DOMAPI/HTMLSpanElement.res +3 -685
  62. package/src/DOMAPI/HTMLStyleElement.res +3 -688
  63. package/src/DOMAPI/HTMLTableCaptionElement.res +3 -712
  64. package/src/DOMAPI/HTMLTableCellElement.res +3 -699
  65. package/src/DOMAPI/HTMLTableElement.res +3 -688
  66. package/src/DOMAPI/HTMLTableRowElement.res +3 -695
  67. package/src/DOMAPI/HTMLTableSectionElement.res +3 -712
  68. package/src/DOMAPI/HTMLTemplateElement.res +3 -695
  69. package/src/DOMAPI/HTMLTextAreaElement.res +3 -695
  70. package/src/DOMAPI/HTMLTimeElement.res +3 -685
  71. package/src/DOMAPI/HTMLTitleElement.res +3 -688
  72. package/src/DOMAPI/HTMLTrackElement.res +3 -688
  73. package/src/DOMAPI/HTMLUListElement.res +3 -688
  74. package/src/DOMAPI/HTMLVideoElement.res +3 -748
  75. package/src/DOMAPI/MediaQueryList.res +3 -80
  76. package/src/DOMAPI/Node.res +59 -124
  77. package/src/DOMAPI/SVGGraphicsElement.res +4 -660
  78. package/src/DOMAPI/ScreenOrientation.res +3 -79
  79. package/src/DOMAPI/ShadowRoot.res +4 -255
  80. package/src/DOMAPI/Text.res +4 -271
  81. package/src/DOMAPI/TextTrackList.res +3 -79
  82. package/src/DOMAPI/Window.res +4 -80
  83. package/src/EncryptedMediaExtensionsAPI/MediaKeySession.res +3 -80
  84. package/src/EventAPI/AbortSignal.res +3 -80
  85. package/src/EventAPI/Event.res +28 -16
  86. package/src/EventAPI/EventTarget.res +51 -39
  87. package/src/FileAPI/Blob.res +26 -15
  88. package/src/FileAPI/File.res +4 -31
  89. package/src/IndexedDBAPI/IDBDatabase.res +3 -79
  90. package/src/IndexedDBAPI/IDBTransaction.res +3 -80
  91. package/src/MediaCaptureAndStreamsAPI/MediaDevices.res +3 -79
  92. package/src/MediaCaptureAndStreamsAPI/MediaStream.res +3 -80
  93. package/src/MediaCaptureAndStreamsAPI/MediaStreamTrack.res +3 -81
  94. package/src/NotificationAPI/Notification.res +3 -80
  95. package/src/PerformanceAPI/Performance.res +3 -79
  96. package/src/RemotePlaybackAPI/RemotePlayback.res +3 -80
  97. package/src/ScreenWakeLockAPI/WakeLockSentinel.res +3 -79
  98. package/src/ServiceWorkerAPI/ServiceWorker.res +3 -79
  99. package/src/ServiceWorkerAPI/ServiceWorkerContainer.res +3 -79
  100. package/src/ServiceWorkerAPI/ServiceWorkerRegistration.res +3 -79
  101. package/src/WebAudioAPI/AnalyserNode.res +4 -148
  102. package/src/WebAudioAPI/AudioBufferSourceNode.res +4 -162
  103. package/src/WebAudioAPI/AudioContext.res +4 -212
  104. package/src/WebAudioAPI/AudioNode.res +39 -113
  105. package/src/WebAudioAPI/AudioProcessingEvent.res +4 -30
  106. package/src/WebAudioAPI/AudioScheduledSourceNode.res +20 -162
  107. package/src/WebAudioAPI/AudioWorkletNode.res +4 -149
  108. package/src/WebAudioAPI/BaseAudioContext.res +85 -155
  109. package/src/WebAudioAPI/BiquadFilterNode.res +4 -149
  110. package/src/WebAudioAPI/ChannelMergerNode.res +4 -149
  111. package/src/WebAudioAPI/ChannelSplitterNode.res +4 -149
  112. package/src/WebAudioAPI/ConstantSourceNode.res +4 -162
  113. package/src/WebAudioAPI/ConvolverNode.res +4 -149
  114. package/src/WebAudioAPI/DelayNode.res +4 -143
  115. package/src/WebAudioAPI/DynamicsCompressorNode.res +4 -152
  116. package/src/WebAudioAPI/GainNode.res +4 -142
  117. package/src/WebAudioAPI/IIRFilterNode.res +4 -149
  118. package/src/WebAudioAPI/MediaElementAudioSourceNode.res +4 -158
  119. package/src/WebAudioAPI/MediaStreamAudioDestinationNode.res +4 -158
  120. package/src/WebAudioAPI/MediaStreamAudioSourceNode.res +4 -158
  121. package/src/WebAudioAPI/OfflineAudioCompletionEvent.res +4 -30
  122. package/src/WebAudioAPI/OfflineAudioContext.res +4 -214
  123. package/src/WebAudioAPI/OscillatorNode.res +4 -162
  124. package/src/WebAudioAPI/PannerNode.res +4 -143
  125. package/src/WebAudioAPI/StereoPannerNode.res +4 -149
  126. package/src/WebAudioAPI/WaveShaperNode.res +4 -149
  127. package/src/WebSocketsAPI/CloseEvent.res +4 -30
  128. package/src/WebSocketsAPI/WebSocket.res +3 -79
  129. package/src/WebSpeechAPI/SpeechSynthesis.res +3 -79
  130. package/src/WebSpeechAPI/SpeechSynthesisUtterance.res +4 -81
  131. package/src/WebStorageAPI/StorageEvent.res +4 -30
  132. package/src/WebVTTAPI/TextTrack.res +3 -79
@@ -1,82 +1,5 @@
1
- open EventAPI
2
1
  open DOMAPI
3
2
 
4
- external asEventTarget: mediaQueryList => eventTarget = "%identity"
5
- /**
6
- Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
7
-
8
- The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
9
-
10
- When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
11
-
12
- When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
13
-
14
- When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
15
-
16
- If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
17
-
18
- The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
19
- [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
20
- */
21
- @send
22
- external addEventListener: (
23
- mediaQueryList,
24
- ~type_: eventType,
25
- ~callback: eventListener<'event>,
26
- ~options: addEventListenerOptions=?,
27
- ) => unit = "addEventListener"
28
-
29
- /**
30
- Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
31
-
32
- The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
33
-
34
- When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
35
-
36
- When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
37
-
38
- When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
39
-
40
- If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
41
-
42
- The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
43
- [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
44
- */
45
- @send
46
- external addEventListener2: (
47
- mediaQueryList,
48
- ~type_: eventType,
49
- ~callback: eventListener<'event>,
50
- ~options: bool=?,
51
- ) => unit = "addEventListener"
52
-
53
- /**
54
- Removes the event listener in target's event listener list with the same type, callback, and options.
55
- [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
56
- */
57
- @send
58
- external removeEventListener: (
59
- mediaQueryList,
60
- ~type_: eventType,
61
- ~callback: eventListener<'event>,
62
- ~options: eventListenerOptions=?,
63
- ) => unit = "removeEventListener"
64
-
65
- /**
66
- Removes the event listener in target's event listener list with the same type, callback, and options.
67
- [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
68
- */
69
- @send
70
- external removeEventListener2: (
71
- mediaQueryList,
72
- ~type_: eventType,
73
- ~callback: eventListener<'event>,
74
- ~options: bool=?,
75
- ) => unit = "removeEventListener"
76
-
77
- /**
78
- Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
79
- [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)
80
- */
81
- @send
82
- external dispatchEvent: (mediaQueryList, event) => bool = "dispatchEvent"
3
+ include EventTarget.Impl({
4
+ type t = mediaQueryList
5
+ })
@@ -1,179 +1,114 @@
1
- open EventAPI
2
1
  open DOMAPI
3
2
 
4
- external asEventTarget: node => eventTarget = "%identity"
5
- /**
6
- Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
3
+ module Impl = (
4
+ T: {
5
+ type t
6
+ },
7
+ ) => {
8
+ include EventTarget.Impl({
9
+ type t = T.t
10
+ })
7
11
 
8
- The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
12
+ external asNode: T.t => node = "%identity"
9
13
 
10
- When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
11
-
12
- When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
13
-
14
- When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
15
-
16
- If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
17
-
18
- The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
19
- [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
20
- */
21
- @send
22
- external addEventListener: (
23
- node,
24
- ~type_: eventType,
25
- ~callback: eventListener<'event>,
26
- ~options: addEventListenerOptions=?,
27
- ) => unit = "addEventListener"
28
-
29
- /**
30
- Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
31
-
32
- The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
33
-
34
- When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
35
-
36
- When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
37
-
38
- When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
39
-
40
- If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
41
-
42
- The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
43
- [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
44
- */
45
- @send
46
- external addEventListener2: (
47
- node,
48
- ~type_: eventType,
49
- ~callback: eventListener<'event>,
50
- ~options: bool=?,
51
- ) => unit = "addEventListener"
52
-
53
- /**
54
- Removes the event listener in target's event listener list with the same type, callback, and options.
55
- [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
56
- */
57
- @send
58
- external removeEventListener: (
59
- node,
60
- ~type_: eventType,
61
- ~callback: eventListener<'event>,
62
- ~options: eventListenerOptions=?,
63
- ) => unit = "removeEventListener"
64
-
65
- /**
66
- Removes the event listener in target's event listener list with the same type, callback, and options.
67
- [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
68
- */
69
- @send
70
- external removeEventListener2: (
71
- node,
72
- ~type_: eventType,
73
- ~callback: eventListener<'event>,
74
- ~options: bool=?,
75
- ) => unit = "removeEventListener"
76
-
77
- /**
78
- Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
79
- [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)
80
- */
81
- @send
82
- external dispatchEvent: (node, event) => bool = "dispatchEvent"
83
-
84
- /**
14
+ /**
85
15
  Returns node's root.
86
16
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/getRootNode)
87
17
  */
88
- @send
89
- external getRootNode: (node, ~options: getRootNodeOptions=?) => node = "getRootNode"
18
+ @send
19
+ external getRootNode: (T.t, ~options: getRootNodeOptions=?) => node = "getRootNode"
90
20
 
91
- /**
21
+ /**
92
22
  Returns whether node has children.
93
23
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/hasChildNodes)
94
24
  */
95
- @send
96
- external hasChildNodes: node => bool = "hasChildNodes"
25
+ @send
26
+ external hasChildNodes: T.t => bool = "hasChildNodes"
97
27
 
98
- /**
28
+ /**
99
29
  Removes empty exclusive Text nodes and concatenates the data of remaining contiguous exclusive Text nodes into the first of their nodes.
100
30
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/normalize)
101
31
  */
102
- @send
103
- external normalize: node => unit = "normalize"
32
+ @send
33
+ external normalize: T.t => unit = "normalize"
104
34
 
105
- /**
35
+ /**
106
36
  Returns a copy of node. If deep is true, the copy also includes the node's descendants.
107
37
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/cloneNode)
108
38
  */
109
- @send
110
- external cloneNode: (node, ~deep: bool=?) => node = "cloneNode"
39
+ @send
40
+ external cloneNode: (T.t, ~deep: bool=?) => T.t = "cloneNode"
111
41
 
112
- /**
42
+ /**
113
43
  Returns whether node and otherNode have the same properties.
114
44
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/isEqualNode)
115
45
  */
116
- @send
117
- external isEqualNode: (node, node) => bool = "isEqualNode"
46
+ @send
47
+ external isEqualNode: (T.t, node) => bool = "isEqualNode"
118
48
 
119
- /**
49
+ /**
120
50
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/isSameNode)
121
51
  */
122
- @send
123
- external isSameNode: (node, node) => bool = "isSameNode"
52
+ @send
53
+ external isSameNode: (T.t, node) => bool = "isSameNode"
124
54
 
125
- /**
55
+ /**
126
56
  Returns a bitmask indicating the position of other relative to node.
127
57
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/compareDocumentPosition)
128
58
  */
129
- @send
130
- external compareDocumentPosition: (node, node) => int = "compareDocumentPosition"
59
+ @send
60
+ external compareDocumentPosition: (T.t, node) => int = "compareDocumentPosition"
131
61
 
132
- /**
62
+ /**
133
63
  Returns true if other is an inclusive descendant of node, and false otherwise.
134
64
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/contains)
135
65
  */
136
- @send
137
- external contains: (node, node) => bool = "contains"
66
+ @send
67
+ external contains: (T.t, node) => bool = "contains"
138
68
 
139
- /**
69
+ /**
140
70
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/lookupPrefix)
141
71
  */
142
- @send
143
- external lookupPrefix: (node, string) => string = "lookupPrefix"
72
+ @send
73
+ external lookupPrefix: (T.t, string) => string = "lookupPrefix"
144
74
 
145
- /**
75
+ /**
146
76
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/lookupNamespaceURI)
147
77
  */
148
- @send
149
- external lookupNamespaceURI: (node, string) => string = "lookupNamespaceURI"
78
+ @send
79
+ external lookupNamespaceURI: (T.t, string) => string = "lookupNamespaceURI"
150
80
 
151
- /**
81
+ /**
152
82
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/isDefaultNamespace)
153
83
  */
154
- @send
155
- external isDefaultNamespace: (node, string) => bool = "isDefaultNamespace"
84
+ @send
85
+ external isDefaultNamespace: (T.t, string) => bool = "isDefaultNamespace"
156
86
 
157
- /**
87
+ /**
158
88
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/insertBefore)
159
89
  */
160
- @send
161
- external insertBefore: (node, 't, ~child: node) => 't = "insertBefore"
90
+ @send
91
+ external insertBefore: (T.t, 't, ~child: node) => 't = "insertBefore"
162
92
 
163
- /**
93
+ /**
164
94
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/appendChild)
165
95
  */
166
- @send
167
- external appendChild: (node, 't) => 't = "appendChild"
96
+ @send
97
+ external appendChild: (T.t, 't) => 't = "appendChild"
168
98
 
169
- /**
99
+ /**
170
100
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/replaceChild)
171
101
  */
172
- @send
173
- external replaceChild: (node, ~node: node, 't) => 't = "replaceChild"
102
+ @send
103
+ external replaceChild: (T.t, ~node: node, 't) => 't = "replaceChild"
174
104
 
175
- /**
105
+ /**
176
106
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/removeChild)
177
107
  */
178
- @send
179
- external removeChild: (node, 't) => 't = "removeChild"
108
+ @send
109
+ external removeChild: (T.t, 't) => 't = "removeChild"
110
+ }
111
+
112
+ include Impl({
113
+ type t = node
114
+ })