While building a CRDT (see, I considered writing a similar proposal. During resarch I came up with the following questions.
-
Computed members.
Should one be able to introspect a key path and get information if the introspected member is computed?
Should the compiler give us a way to reference key paths, which must not contain computed members -
Subscripts
While members could be represented a strings, how should we represent subscript?
As far as I know, a subscript can be called with any type.
Is a subscript similar to a computed member or not. -
Optionals
Should one be able to get information if a member is optional.