Question: Let's say I am using modernizr for text shadows and in IE 9 it doesn't work. Do i simply have to include the js file or write additional code to work in conformity with modernizr?

Answer: 
Something like this should work:

```
(defun describe-function-or-variable ()
  (interactive)
  (let ((sym (intern-soft (current-word))))
    (cond ((null sym)
           "nothing")
          ((functionp sym)
           (describe-function sym))
          (t
           (describe-variable sym)))))

```
Here's a more general function:

```
(defun describe-function-or-variable ()
  (interactive)
  (let ((sym (intern-soft (current-word))))
    (unless
        (cond ((null sym))
              ((not (eq t (help-function-arglist sym)))
               (describe-function sym))
              ((boundp sym)
               (describe-variable sym)))
      (message "nothing"))))

```

It works for special forms, e.g. `and`, as well as for macros, e.g. `case`.
It also makes sure that the varible is bound, before trying to describe it.