 }
 
 public func anyOf<T>(matchers: Matcher<T>...) -> Matcher<T> {
+    return anyOf(matchers)
+}
+
+public func anyOf<T>(matchers: [Matcher<T>]) -> Matcher<T> {
     return Matcher(joinMatcherDescriptions(matchers, prefix: "any of")) {
         (value: T) -> MatchResult in
         let matchedMatchers = matchers.filter {$0.matches(value).boolValue}


public func || <T>(lhs: Matcher<T>, rhs: Matcher<T>) -> Matcher<T> {
    return anyOf(lhs, rhs)
}
}

public func allOf<T>(matchers: Matcher<T>...) -> Matcher<T> {
    return allOf(matchers)
}

public func allOf<T>(matchers: [Matcher<T>]) -> Matcher<T> {
    return Matcher(joinMatcherDescriptions(matchers)) {
        (value: T) -> MatchResult in
        var mismatchDescriptions: [String?] = []
