diff --git a/compiler/ir1util.lisp b/compiler/ir1util.lisp
index d6ae547c9d503b4a8b83581b1b07d561453f7ff8..bc14e6ada0e35faea7654db53766575ef01b0087 100644
--- a/compiler/ir1util.lisp
+++ b/compiler/ir1util.lisp
@@ -557,6 +557,20 @@ inlines
   (undefined-value))
 
 
+;;; DELETE-FUNCTIONAL  --  Interface
+;;;
+;;;    This function deletes functions that have no references.  This need only
+;;; be called on functions that never had any references, since otherwise
+;;; DELETE-REF will handle the deletion. 
+;;;
+(defun delete-functional (fun)
+  (assert (null (leaf-refs fun)))
+  (etypecase fun
+    (optional-dispatch (delete-optional-dispatch fun))
+    (clambda (delete-lambda fun)))
+  (undefined-value))
+
+
 ;;; Delete-Lambda  --  Internal
 ;;;
 ;;;    Deal with deleting the last reference to a lambda.  Since there is only
@@ -1565,6 +1579,8 @@ inlines
 
 ;;;; Generic list (?) functions:
 
+(proclaim '(inline find-in position-in map-in))
+
 ;;; Find-In  --  Interface
 ;;;
 (defun find-in (next element list &key (key #'identity)