anchor.diff:    SimplePackage? packageOf(Uri file);
   }
   
  -class _TrielikePackageTreeHelper {
  +class _PackageTrieNode {
     SimplePackage? package;
  -  Map<String, _TrielikePackageTreeHelper> map = {};
  +  Map<String, _PackageTrieNode> map = {};
   }
   
   /// Packages of a package configuration ordered by root path.
  
positive.code:   /// The packages are added in order of their root path.
    void add(SimplePackage newPackage, void Function(Object error) onError) {
      var root = newPackage.root;
      var currentMapHelper = _map[root.scheme] ??= _TrielikePackageTreeHelper();
      if (_checkConflict(currentMapHelper, newPackage, onError)) return;
      var segments = root.pathSegments;
      for (var i = 0; i < segments.length - 1; i++) {
        var path = segments[i];
        currentMapHelper =
            currentMapHelper.map[path] ??= _TrielikePackageTreeHelper();
        if (_checkConflict(currentMapHelper, newPackage, onError)) return;
      }
      currentMapHelper.package = newPackage;
      _packages.add(newPackage);
    }
  
    bool _isMatch(String path, _TrielikePackageTreeHelper currentMapHelper,
        List<SimplePackage> potential) {
      if (currentMapHelper.package != null) {
        var currentPackage = currentMapHelper.package!;
        var currentPackageRootLength = currentPackage.root.toString().length;
        if (path.length == currentPackageRootLength) return true;
        var currentPackageUriRoot = currentPackage.packageUriRoot.toString();
  
negative.code: /// root path.
  /// Entire other packages are allowed inside a package's root.
  class TrielikePackageTree implements PackageTree {
    final Map<String, _PackageTrieNode> _map = {};
  
    /// A list of all packages.
    final List<SimplePackage> _packages = [];
  