pub(crate) fn create_buffer_source<T>(
cx: &mut JSContext,
data: &[<T as TypedArrayElement>::Element],
dest: MutableHandle<'_, *mut JSObject>,
) -> Result<RootedTraceableBox<TypedArray<T, Box<Heap<*mut JSObject>>>>, ()>where
T: TypedArrayElement + TypedArrayElementCreator,