         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

            while i < c[cName].length
              if c[cName][i] is self
                c[cName][i] = toset
              else 
                # dive into nested contracts with the original toset reference
                setSelfContracts c[cName][i], toset  if c[cName][i].ctype isnt "object"
              i++

  st = printStackTrace(e: new Error())
  # in the stacktrace the frame above this one is where we were guarded/used
  guardedAt = st[2]
  # pull out the filename (which will become our module) and line
  # number (the location in the module where the guard/use occured)
  # stack traces look like: {anonymous}()@file:///Path/to/file.js:4242
  match = /\/([^\/]*):(\d*)[\)]?$/.exec(guardedAt)
