anchor.diff:          return e;
         }));
       } else {
  +      /// last level
         out ??= [];
  -      if (levelNames.length <= level + 1)
  -        out.add({'value': v, name: k});
  -      else
  +      if (v is Map) {
  +        v[name] = k;
  +        out.add(v);
  +      } else {
           out.add({levelNames[level+1]: v, name: k});
  +      }
       }
     });
     return out;
   }
  +
  
positive.code: ///  {'level0': 'foo2', 'level1': 'bar2', 'value': v22},
  ///  ...]
  ///
  List<Map> flattenMap(Map m, {List<String> levelNames}) {
    levelNames ??= [];
    return _flatten(m, 0, levelNames).toList();
  }
  
  List _flatten(Map m, int level, List levelNames) {
    List out;
    if (levelNames.isEmpty || levelNames.length < level + 1)
      levelNames.add('level$level');
    String name  = levelNames[level];
  
    m.forEach((k, v) {
      if (v is Map) {
        out ??= [];
        List aux = _flatten(v, level + 1, levelNames);
        out.addAll(aux.map((Map e) {
  
negative.code: 
  
  
  /// Take a nested map [m] and return a List of maps.
  /// For example given the input map:
  ///
  /// {
  