         args = []
 
         if options and options.checkStack and not (options.checkStack(stack))
-          throw new Error("stack checking failed")  
+          throw new Error("stack checking failed")
 
         if typeof options.pre is "function" and not options.pre this
           # check pre condition
-          blame neg, pos, 
-            "precondition: " + options.pre.toString(), 
-            "[failed precondition]", parents  
+          blame neg, pos,
+            "precondition: " + options.pre.toString(),
+            "[failed precondition]", parents
 
         # check all the arguments
         i = 0
         while i < dom.length
           # might pass through undefined which is fine (opt will take
           # care of it if the argument is actually optional)
-          # 
+          #
           # blame is reversed
           args[i] = dom[i].check(arguments[i], neg, pos, parents, stack)
           # assigning back to args since we might be wrapping functions/objects

    # descriptors: object({ a: Num }) ==> object({ a: {value: Num} })
    for prop of @oc
      # todo: commenting out for now to allow us to have an object contract prototype chain
      # only reason not too allow this is if the user puts something silly on the chain. 
      # if(!this.oc.hasOwnProperty(prop)) {
      #     continue; 
      # }
      contractDesc = @oc[prop]
      objDesc = Utils.getPropertyDescriptor(obj, prop)


        # check post condition
        if typeof options.post is "function" and not options.post this
          blame neg, pos,
            "failed postcondition: " + options.post.toString(),
            "[failed postcondition]", parents
        res

    if newOnly
