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