i didn't realize the situation with rhino was so dire. this barely qualifies as a js runtime.
i remember shit like strings crossing the boundary from java into js are objects that behave like strings but are not instanceof String, but i had no idea how truly bad it was in here
i was trying to figure out if Object.hasOwn is available in rhino and i guess the answer is "lmao who knows"