   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 
+  # 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)

    if orig?
      {originalValue, originalContract} = orig
      # make a note of the server's module name in the map
      contract_orig_map.set value, 
        originalValue: originalValue
        originalContract: originalContract
        server: moduleName


    handler.set = (receiver, name, val) ->
      if (options.extensible is false) and Object.getOwnPropertyDescriptor(obj, name) is undefined
        blame neg, pos, "non-extensible object", "[attempted to set a new property: #{name}]", parents

      if options.frozen
        blame neg, pos, "frozen object", "[attempted to set: #{name}]", parents

      if that.oc.hasOwnProperty(name)
        if not that.oc[name].writable
          blame neg, pos, "read-only property", "[attempted to set read-only property: #{name}]", parents
        # have to reverse blame since the client is the one calling set
        obj[name] = that.oc[name]["value"].check(val, neg, pos, parents)
      else if (options.arrayRangeContract and (options.arrayRange isnt undefined)) and (parseInt(name, 10) >= options.arrayRange)
