This provides plenty of value conceptually, but I wish they were able to push the syntax into a more intuitive place. My biggest gripe with Relay is how forced the syntax feels, and this seems better but still confusing. Take for example this component declaration:
export const PostCard = ({ post: postRef }: { post: ViewRef<'Post'> }) => { ... }
That feels terrible to me! I don't have any suggestion from my side, but I feel like there's got to be a less awkward way.
```
export function PostCard(props: { post: ViewRef<'Post'> }) {
}```
If you add a few aliases (that can be easily generated), it becomes this:
```
export function PostCard(props: { post: PostViewRef }) {
}```
There are many bits in fate worthy of criticism. Naming and typing React props really isn't one of those.