anchor.diff:         hasPrefix "foo" "barfoo"
          => false
     */
  -  hasPrefix = pref: str:
  -    substring 0 (stringLength pref) str == pref;
  +  hasPrefix =
  +    # Prefix to check for
  +    pref:
  +    # Input string
  +    str: substring 0 (stringLength pref) str == pref;
   
     /* Determine whether a string has given suffix.
  +
  +     Type: hasSuffix :: string -> string -> bool
   
        Example:
          hasSuffix "foo" "foobar"
  
positive.code:     in
        recurse 0 0;
  
    /* Return the suffix of the second argument if the first argument matches
       its prefix.
  
       Example:
         removePrefix "foo." "foo.bar.baz"
  
negative.code: 
    /* Turn a string into a Nix expression representing that string
  
       Type: string -> string
  
       Example:
         escapeNixString "hello\${}\n"
         => "\"hello\\\${}\\n\""
    */
    escapeNixString = s: escape ["$"] (builtins.toJSON s);
  
    # Obsolete - use replaceStrings instead.
    replaceChars = builtins.replaceStrings or (
      del: new: s:
      let
  