Make Stream into an interface with "stream" as a concrete implementation.
Convert Array to be an interface with "array" as the standard implementation.
Convert Indirect to be an interface with "indirect" as the standard implementation.