So if I'm reading all of this correctly, it's not appropriate to uniformly refer to all the contents of `/svc` as "services" (or some other variation like "service handle", "service implementation"), and we should call different `/svc` entries "services" or "protocols" depending on what they are (matching the FIDL definition). This might be what we need to address in the system docs.
Something like `/svc/fuchsia.logger.LogSink` represents a
protocol, not a service. The entry is not a directory...it's a file (at least as reported by client code). Using
an example from the docs, something like `/svc/fuchsia.network.Provider` represents a
service and presumably it would be a directory containing "instance" subdirectories (e.g. `default`) with the individual protocol file entries. This seems to be true for either an outgoing directory or a namespace. Does that seem accurate?
The question remains on the best way for us to generally refer to the various `/svc` nodes in an outgoing directory or namespace. Are they handles? endpoints? Perhaps it depends on which end we are referring to?
Floating some examples ideas:
`/svc/fuchsia.logger.LogSink` in a component's outgoing directory is a "protocol implementation"
`/svc/fuchsia.logger.LogSink` in a component's namespace is a "protocol handle"
`/svc/fuchsia.network.Provider` in a component's outgoing directory is a "service implementation"
`/svc/fuchsia.network.Provider` in a component's namespace is a "service handle"