 
 (defun th-hoogle-search (query)
   (with-temp-buffer
-    (call-process "hoogle" nil t nil "search" "-n 30" query)
+    (call-process "hoogle" nil t nil "search" "-n 50" query)
     (goto-char (point-min))
     (unless (looking-at "^No results found")
       (-filter (lambda (s)

  (interactive)
  (th-insert-relevant-binding (funcall th-get-type-hole-info-function)))

(defun th-resolve-hole-new-function(str &optional add-parens add-arg-holes)
  (let* ((fn-name (read-string "Name for new function: "))
         (fn-with-type (concat fn-name
                               " :: "
                               (th--get-hole-type str)
                               "\n"
                               fn-name
                               " = _")))
    (th--replace-type-hole-dwim fn-with-type str)
    (funcall th-new-function-from-hole-position)
    (insert fn-with-type)
    (backward-char 1)

(defun th--binding-extract-name (binding)
  (replace-regexp-in-string " :: .*" "" binding))

(defun th--binding-extract-type (binding)
  (replace-regexp-in-string " ?::.*" "" binding))

(defun th--binding-has-type (binding)
  (string-match " ?::.*" binding))

(defun th--num-of-args (binding)
  (s-count-matches " -> " (with-temp-buffer
