anchor.diff:  ;; Comments start with ; and go to the end of the line
  +;;
  +;; All types and identifiers are namespaced - this means that:
  +;;  - Each file has to start with a (namespace IDENTIFIER) declaration, giving
  +;;    the namespace of the file
  +;;  - Any attempt to use a file loaded by (require STRING) (see below) must use
  +;;    that file's namespace to access its exported values. For example, if a
  +;;    file with the namespace "foo" exports "bar", then other modules will need
  +;;    to use "foo:bar" to get to it.
  +;;  - If there are locals that override global variables, these too can be gotten
  +;;    by prefixing the variable's name with the current file's namespace.
   ;;
   ;; Primitive types:
   ;;   integer
  
positive.code:  ;; automatically upcast, when a value of one type or the other is needed.
   ;; Thus, these functions generally do not need to be used.
   (block
    (set list (cast linked-ints-ptr (mars.sbrk (size-of linked-ints))))
    (set (field (deref list) value) head)
    (set (field (deref list) next) tail)
    (return list)))
  
negative.code: ;;    (*error STRING)
  ;;
  ;; Byte literals include C-style escapes, and are prefixed with #
  (namespace mars-mips-sample)
  (*if (platform? "mars" "mips")
   (require "arch/mars_mips.lisp")
   (*error "Sample must be compiled with 'mars_mips' backend"))
  