* Bugs
** DONE Outside macros that depend on your macro will throw errors
   CLOSED: [2014-11-09 Sun 18:10]
This happens because we have to wrap everything in a progn, which the
compiler/interpreter expands then evaluates. So the outside macro is
expanded before YOUR macro has been evaluated (and thus defined).

Example:
#+begin_src emacs-lisp
(require 'cl-lib)

(defspace name-
(defmacro cas (string)
  (declare (debug t))
  `(cdr (assoc-string ,string '(("a" . 1) ("b" . 0)))))

(defun incf ()
  "Increment the count of packages in STATUS."
  (cl-incf (cas "a")))
)
#+end_src

Not sure how to fix, given it's limited by our use of progn, which I
don't think we can get around.
* Not sure how to do:
** DONE Make eval-defun work inside namespaces.
   CLOSED: [2014-11-09 Sun 18:10]
** TODO Special treatment for defstruct.
Right now it's simply being handled as a macro
* Just do it
** TODO Add a :use keyword to defspace.
** TODO Namespace symbols in doc strings.
   Should include =`symbol'=, =\\<symbol>= and =\\{symbol}=.
** TODO Namespace the [[https://www.gnu.org/software/emacs/manual/html_node/cl/Argument-Lists.html][initform]] of cl arglists.
** DONE Don't call edebug if debug-spec is t or 0.
   CLOSED: [2014-07-17 Thu 19:14]
** TODO Describe keywords in an info manual, and refer to it instead of the website.
* Not sure whether should be done:
