anchor.diff:    # Place an element between each element of a list, e.g.,
     # `intersperse "," ["a" "b" "c"]' returns ["a" "," "b" "," "c"].
     intersperse = separator: list:
  -    if list == [] || builtins.tail list == []
  +    if list == [] || tail list == []
       then list
  -    else [(builtins.head list) separator]
  -         ++ (intersperse separator (builtins.tail list));
  +    else [(head list) separator]
  +         ++ (intersperse separator (tail list));
   
   
     # Flatten the argument into a single list; that is, nested lists are
     # spliced into the top-level lists.  E.g., `flatten [1 [2 [3] 4] 5]
     # == [1 2 3 4 5]' and `flatten 1 == [1]'.
     flatten = x:
  -    if builtins.isList x
  +    if isList x
       then fold (x: y: (flatten x) ++ y) [] x
       else [x];
   
  
positive.code:   # default value is returned otherwise.
    getAttr = attrPath: default: e:
      let {
        attr = builtins.head attrPath;
        body =
          if attrPath == [] then e
          else if builtins ? hasAttr && builtins.hasAttr attr e
          then getAttr (builtins.tail attrPath) default (builtins.getAttr attr e)
          else default;
      };
    
  }
negative.code:   fold = op: nul: list:
      if list == []
      then nul
      else op (head list) (fold op nul (tail list));
  
      
    # Concatenate a list of strings.
  