I must say that I preferred the `Uri` component usage... that would have given us a better API. If this API is performance-oriented, then the `AssemblyResult` could be marked as `@internal`, and its properties could be public