Cheers, Graham. I'm happy to hear it's on your radar. Yeah, I was exactly thinking the same, of using protobuf with gRPC. I'll educate myself some more on it. There's a great thread here on versioning that highlights the challenges and ways developers have tried to sort them out.
Perhaps I'll pivot to thinking of this kind of implementation using a much, much smaller subset of FHIR, if any opportunities come up for experimenting.