E.g. suppose we wanted to implement iterables as a protocol. How do you make Symbol.iterator a required field? Same for all other known symbols.
I wonder if we need a ComputedPropertyKey syntax as well, which would not be rewritten to symbols.
protocol Iterable {
[Symbol.iterator];
forEach() { /* ... */ }
}