we are now only advertising IEnumerable and creating simple arrays

This will help with memory performance.

In addition, the input and outputs are explored better
only explore the inheritance chain of non-enumerable members

we want another specific observer to control enumerable type
discoverability.