         hasProperty = propertyName of argument
       else
         propertyName = property
-        hasProperty = Object.prototype.hasOwnProperty.call(argument, propertyName)
+        hasProperty = Object::hasOwnProperty.call(argument, propertyName)
 
       if hasProperty isnt true then return false
 


  match: (argument) -> @getMatcher().match(argument, @getValue())

@Overloadable = Overloadable
      return false unless compiledMatcher.match(argument)

    true

class MatcherFactory
  constructor: () ->
