If we generated and returned a public struct, maybe the wrapper could be on the stack a bunch instead of needing to allocate either a class or a box?