diff --git a/clx/manager.lisp b/clx/manager.lisp
index ca9571b0ac2840a735b8f89da3ae48aee7df2cdf..dfead101ab35773d1105733a7b8a901d58aee391 100644
--- a/clx/manager.lisp
+++ b/clx/manager.lisp
@@ -90,8 +90,6 @@
   (get-property window :WM_NAME :type :STRING :result-type 'string :transform #'card8->char))
 
 (defsetf wm-name (window) (name)
-  (declare (type window window))
-  (declare (values string))
   `(set-string-property ,window :WM_NAME ,name))
 
 (defun set-string-property (window property string)
diff --git a/clx/text.lisp b/clx/text.lisp
index 59415101c25ec69c862d076d8662653e2aec0417..0182b8e398229e14f7472dc5fc4e03be6d37b592 100644
--- a/clx/text.lisp
+++ b/clx/text.lisp
@@ -545,9 +545,11 @@
   ;; overall width, if known.
   (declare (type drawable drawable)
 	   (type gcontext gcontext)
-	   (type int32 x y width)
-	   (type array-index start end)
-	   (type sequence sequence))
+	   (type int32 x y)
+	   (type array-index start)
+	   (type (or array-index null) end)
+	   (type sequence sequence)
+	   (type (or int32 null) width))
   (declare (values (or null array-index) (or null int32)))
   (declare (type translation-function translate)
 	   (downward-funarg translate)) 
@@ -644,8 +646,9 @@
   (declare (type drawable drawable)
 	   (type gcontext gcontext)
 	   (type int16 x y)
-	   (type array-index start end)
-	   (type int32 width)
+	   (type array-index start)
+	   (type (or array-index null) end)
+	   (type (or null int32) width)
 	   (type sequence sequence))
   (declare (values (or null array-index) (or null int32)))
   (declare (type translation-function translate)