diff --git a/core/defs.lisp b/core/defs.lisp
index 984b1ec..9383b03 100644
--- a/core/defs.lisp
+++ b/core/defs.lisp
@@ -105,7 +105,7 @@
;; Resource base class
(defclass resource (standard-object)
- ((id :type atom
+ ((id :type string
:initarg :id
:initform (error "Missing ID for resource.")
:reader resource-id)
@@ -119,6 +119,8 @@
:accessor probed-properties))
(:metaclass resource-class))
+(declaim (ftype (function (resource) string) resource-id))
+
(defgeneric resource-probes-properties (resource))
(setq *the-resource-class* (find-class 'resource))