Making LoadResult a union-type.
Using a union-type for LoadResult to proactively avoid unexpected file load and file-not-found issues. Addresses issue #2340
@siegfriedpammer I gather the ILSpy code has changed a lot since I originally submitted this PR - my PR was originally intended as a bugfix-with-benefits rather than a well-written refactoring to enum/union-types (I'm surprised you seem to be okay with it and replied now, I thought this PR was dead after sitting unread for 5 months).
That said, I'll be happy to resubmit this provided you're okay with me making the potentially extensive changes to adopt enum/union-types throughout ILSpy.
I think extensive changes in this direction don't make sense. C# isn't quite that language yet -- while pattern matching is getting close to make this style of programming usable, the language still lacks proper union types (and especially Rust-style value union types, which aren't even proposed yet).