I've been working with refs and symbols a lot and there are two behaviors of the content API that seem strange to me:
You have to opt into includeRefs: true and noTraverse: false.
The API doesn't recursively evaluate refs (https://github.com/BuilderIO/builder/pull/1238 will mitigate the situation but it would be better to just have this built into the API response logic).
I don't think there's ever been a case where I've wanted just the raw ref. I've always wanted the associated data. Same with symbols.
I understand why this can't be flipped on for the current API, but if y'all ever release a v3, I would request that you make includeRefs and traversal opt-out rather than opt-in, and that you recursively evaluate nested refs.
Also, in my experience working with devs who are new to Builder and coming from other CMSes, the API's and SDK's behavior around refs is one of the things that confuses them the most. It feels as if refs are a second-class citizen. I believe this may be a significant impediment for devs wanting to adopt Builder, especially when they come from other ecosystems where relational mapping is a prominent concept/workflow.