anchor.diff:  - (optional) current input.")
   
      (filter #'fuzzy-match
  -           :type (or null
  -                     (function (suggestion source string) (or null suggestion))
  -                     function-symbol)
  +           :type (or null function function-symbol)
              :documentation
              "Takes a `suggestion', the `source' and the `input' and return a new
   suggestion, or nil if the suggestion is discarded.")
   
      (filter-preprocessor #'delete-inexact-matches
  -                        :type (or null (function (list source string) list) function-symbol)
  +                        :type (or null function function-symbol)
                           :documentation
                           "Function called when
   input is modified, before filtering the suggestions.
  
positive.code: suggestion count is meant to be displayed or not.")
  
     (suggestion-maker #'make-suggestion
                       :type (function (t &optional source string) suggestion)
                       :documentation "Function that wraps an arbitrary
  object into a source `suggestion'.
  This is useful to set the suggestion slots such as `attributes' and `match-data'
  
negative.code: - the input.")
  
     (filter-postprocessor nil
                           :type (or null function function-symbol)
                           :documentation
                           "Function called when input is modified, after
  filtering the suggestions with `filter'.
  