js/_of_ocaml/eventSource.ml: why is data 'string' not 'any'?

Source:

class type ['a] messageEvent =
  object
    inherit ['a] Dom.event

    method data : js_string t readonly_prop

    method origin : js_string t readonly_prop

    method lastEventId : js_string t readonly_prop
    (* method source : unit *)
  end

Yet, if we read the MDN docs:

this field can be ANY Js object.

Why is js_of_ocaml making this change ?

Context: playing with postMessage/onMessage, where the payload is arbitrary JS value, not necessarily a string.