This process is necessary because of an issue (https://github.com/golang/go/issues/33745) in gomobile. Passing bare Data objects to Go functions leads to nondeterministic behavior.