To maximize performance, C# structs are translated the same as structs but our compiler requires that all struct fields are readonly/immutable. That allows us to pass the structs by reference so we don't need to copy them by value every time.