   # private
   
   _find_signature: (method_name, args...) ->
+    # TODO: use list comprehension?
     for signature in @method_calls
-      if (signature.method_name == method_name) and ( signature.args.length == args.length ) and ( signature.args.every ( element, i ) -> element == args[ i ] )
+      if signature.matches(method_name, args...)
         return signature
     undefined
   

    @args = []
    @returns = undefined
    @called = false




# TODO: rename to MethodSignature?
class Signature
  
  constructor: (method_name) ->
