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