[Rust] wasm_bindgen 기능상 결함 (중첩문제)

Rust Yew 기반으로 해서 DOM canvas를 그리려고 하던 중에, 좀 많이 짜증나는 난관에 부딪혔다.

rust에서 브라우저 DOM에 접근하려면 다음과 같이 wasm_bindgen 매크로로 glue 함수를 생성해주도록 해야 하는데, 문제는 wasm_bindgen되는 함수의 매개변수들도 전부 wasm_bindgen을 먹여서 JsObject 트레잇을 구현해야한다는 것이다.

함수가 위와 같은 단순한 형태면 문제가 없다.

그냥 1차원 벡터여도 문제가 없고 말이다.

그런데 벡터를 2중으로 겹치기 시작하면 문제가 생긴다.

좀 어이가 없는 경우다.
1차원 벡터가 되면, 2차원도 되어야 하는게 기본적인 직교성이 아닌가?

이건 단순히 벡터에만 적용되는 것이 아니라, 그냥 근본적인 골자 자체가 잘못되어있는듯하다.
다음과 같이 사용자가 정의한 타입도, wasm_bindgen을 먹이면 사용이 가능한데

벡터로 감싸면 또 안된다.

프로젝트 기여자들도 이에 대한 문제를 잘 알고 있고 심각성도 인지하고 있는 것 같은데, 좀 근본적인 문제가 있는지 오랫동안 방치되고 있는 모양이다.
https://github.com/rustwasm/wasm-bindgen/issues/111