     (or (= java.lang.Long t)
         (= java.lang.Integer t))))
 
-(defn state
+(defn
+  ^{:requires-bindings true
+    :added "1.0"}
+  state
   "Retrieve canvas-specific state by key. Must initially call
   set-state! to store state.
 

           align-y (resolve-vertical-alignment-mode align-y)]
       (.textAlign *applet* (int align-x) (int align-y)))))

(defn text-ascent
  "Returns the ascent of the current font at its current size. This
  information is useful for determining the height of the font above
  the baseline. For example, adding the text-ascent and text-descent

  [nx ny nz]
  (.normal *applet* (float nx) (float ny) (float nz)))

(defn
  ^{:requires-bindings true
    :processing-name "noSmooth()"
    :category "Shape"
    :subcategory "Attributes"
    :added "1.0"}
  no-smooth
  "Draws all geometry with jagged (aliased) edges."
  [] (.noSmooth *applet*))

(defn
  ^{:requires-bindings true
    :processing-name "noStroke()"
    :category "Color"
    :subcategory "Setting"
    :added "1.0"}
  no-stroke
  "Disables drawing the stroke (outline). If both no-stroke and
  no-fill are called, nothing will be drawn to the screen."
  []
  (.noStroke *applet*))

(defn
  ^{:requires-bindings true
    :processing-name "noTint()"
    :category "Color"
    :subcategory "Loading & Displaying"
    :added "1.0"}
  no-tint
  "Removes the current fill value for displaying images and reverts to
  displaying images with their original hues."
  []
  (.noTint *applet*))

(defn
  ^{:requires-bindings true
    :processing-name "ortho()"
    :category "Lights, Camera"
    :subcategory "Camera"
    :added "1.0"}
  ortho
  "Sets an orthographic projection and defines a parallel clipping
  volume. All objects with the same dimension appear the same size,
  regardless of whether they are near or far from the camera. The
