replace oe@(Elem o) (Elem n) =
  do (Elem par) <- parent oe
     js_replaceChild par o n
     return (Elem n)
#else
replace = notImplemented
#endif
replace oe@(Elem o) (Elem n) =
  do (Elem par) <- parent oe
     js_replaceChild par o n
     return (Elem n)
#else
replace = notImplemented
#endif
replace oe@(Elem o) (Elem n) =
  do (Elem par) <- parent oe
     js_replaceChild par o n
     return (Elem n)
#else
replace = notImplemented
#endif