In TypeScript:
interface Ref<T> { value:T }
type Ref<T> = { value:T }
I… do not like this asymmetry.
Conversation
Replying to
Generally I like 'equals style' for structurally typed things, like type aliases, and the 'command style' for generative things, like making new classes, structs, tagged unions etc. Are interfaces generative in TS, or structural?
Ah dang, they are indeed structural: typescriptlang.org/docs/handbook/
I think Flow has distinction between objects which can have extra fields and objects with exact fields for this reason? flow.org/en/docs/types/

