anchor.diff:    fix = f: let x = f x; in x;
   
     # A variant of `fix` that records the original recursive attribute set in the
  -  # result. This is useful in combination with the `extend` function to
  +  # result. This is useful in combination with the `extends` function to
     # implement deep overriding. See pkgs/development/haskell-modules/default.nix
     # for a concrete example.
     fix' = f: let x = f x // { __unfix__ = f; }; in x;
  
positive.code:   #     g = self: super: { foo = super.foo + " + "; }
    #
    # that has access to the unmodified input (`super`) as well as the final
    # non-recursive representation of the attribute set (`self`). This function
    # differs from the native `//` operator insofar as that it's applied *before*
    # references to `self` are resolved:
    #
  
negative.code:   mergeAttrs = x: y: x // y;
  
    # Compute the fixed point of the given function `f`, which is usually an
    # attribute set that expects its final, non-recursive representation as an
    # argument:
    #
    #     f = self: { foo = "foo"; bar = "bar"; foobar = self.foo + self.bar; }
  