       function ctor() { this.constructor = child; }
       ctor.prototype = parent.prototype;
       child.prototype = new ctor;
-      for (var key in parent) if (__hasProp.call(parent, key)) child[key] = parent[key];
+      for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; }
       child.__super__ = parent.prototype;
       return child;
     }

    @base       = base
    @properties = props or []
    @[tag]      = true if tag

  children: ['base', 'properties']


    @first    = first
    @second   = second
    @flip     = !!flip
    return this

  # The map of conversions from CoffeeScript to JavaScript symbols.
  CONVERSIONS =
