Ah, interesting. So I assume the reason it must be inlined is to avoid passing the type as an input? I'm applying this approach to what I'm working on, and I'm quickly running into the "Public-API inline function cannot access non-public-API" error. May I ask why that constraint public access constraint exists? Does public/private have a runtime implication that actually prevents external callers from accessing fields? I assumed public/private was purely a compile time check