     }
     
     /**
-     Replaces first occurance of the pattern using supplied replacement String.
+     Replaces first occurrence of the pattern using supplied replacement String.
      
      - parameters:
        - source: String to be matched to the pattern
        - replacement: Replacement string. Can use $1, $2, etc. to insert matched groups.
-     - returns: A string, where the first occurance of the pattern was replaced.
+     - returns: A string, where the first occurrence of the pattern was replaced.
      */
     public func replaceFirst(in source:String, with replacement:String) -> String {
         return replaceFirst(in: source) { match in

    }
    
    /**
     Replaces all occurances of the pattern using supplied replacer function.
     
     - parameters:
       - source: String to be matched to the pattern
       - replacer: Function that takes a match and returns a replacement. If replacement is nil, the original match gets inserted instead
     - returns: A string, where all the occurances of the pattern were replaced
     */
    public func replaceAll(in source:String, using replacer:(Match) -> String?) -> String {
        let matches = findAll(in: source)

    }
    
    /**
     Constructor, same as main, but group names can be supplied as var args. Can throw an error.
     
     - parameters:
       - pattern: A pattern to be used with Regex
