         }
     }
     
-    public func verify(wasCalledWithArgsThatMatch argsMatchers: [WhenMatches], file: String = __FILE__, line: UInt = __LINE__) {
+    public func verify(wasCalledWithArgsThatMatch argsMatchers: [WhenMatches], file: StaticString = #file, line: UInt = #line) {
         XCTAssertTrue(isContainedIn(self.calls, that: allMatch(argsMatchers)),"Spy was not called with those args.", file: file, line: line)
     }
     
-    public func isContainedIn<Seq : SequenceType>(list: Seq, that matches: (Seq.Generator.Element) -> Bool) -> Bool {
+    public func isContainedIn<Seq : Sequence>(_ list: Seq, that matches: (Seq.Iterator.Element) -> Bool) -> Bool {
         if findWithIndexIn(list, that: matches) == nil {
             return false
         } else {

        }
    }
    
    public func findWithIndexIn<Seq : SequenceType>(list: Seq, that matches: (Seq.Generator.Element) -> Bool) -> (item: Seq.Generator.Element, index: Int)? {
        for (index, candidate) in list.enumerate() {
            if matches(candidate) {
                return (candidate, index)
            }

        return nil
    }
    
    public func verify(_ wasCalledWithArgs: Args, file: StaticString = #file, line: UInt = #line){
        if let standardArgsComparisons = self.standardArgsComparators {
            if self.calls.isEmpty {
                XCTFail("Spy was not called.", file: file, line: line)
