      */
     internal func queryData() -> [String: String] {
         // First `?` indicates query, subsequent `?` should be included as part of the arguments
-        return split("?", maxSplits: 1)
+        return split(separator: "?", maxSplits: 1)
             .dropFirst()
             .reduce("", combine: +)
             .keyValuePairs()

    internal func keyValuePairs() -> [String: String] {
        var data: [String: String] = [:]

        for pair in self.split("&") {
            let tokens = pair.split("=", maxSplits: 1)

            if
                let name = tokens.first,


    public var array: [Node]? {
        return self
            .split(byString: ",")
            .map { $0 as Node }
    }

