 (defcustom erldoc-output-file (locate-user-emacs-file "cache/erldoc")
   "File to store the parsed results."
   :type 'file
+  :group 'erldoc)
+
+(defcustom erldoc-no-signature-function #'ignore
+  "Notification function called if no function signature was found."
+  :type '(choice (function-item :tag "Ignore" ignore)
+                 (function-item :tag "Warn" warn)
+                 (function-item :tag "Error" error))
   :group 'erldoc)
 
 (defun erldoc-strip-string (s)

         ;; Get the full function signature.
         (when (and (eq (car-safe d) 'a)
                    (gethash (erldoc-dom-get-attribute d 'name) table))
           (push (append (gethash (erldoc-dom-get-attribute d 'name) table)
                         (list (or (funcall span-content d)
                                   (funcall span-content
                                            (or (erldoc-dom-get-element d 'span)
                                                (cadr (memq d erldoc-dom-walk-siblings)))))))
                 entries))
         ;; Get data types
         (when (and (eq (car-safe d) 'a)
                    (string-prefix-p "type-"

          (sigs))
      (maphash (lambda (k v)
                 (when (string-match re k)
                   (if (cadr v)
                       (push (cons (string-to-number (match-string 1 k))
                                   (cdr (erldoc-tokenize-signature (cadr v))))
                             sigs)
                     (funcall erldoc-no-signature-function
                              "erldoc-format-signature: No sig for %s" k))))
               (erldoc-lookup-table))
      (when sigs
        ;; Mostly single return type but there are exceptions such as
