   
   /// **Mechanica**
   ///
-  /// Returns true if `self` ends with a given suffix.
+  /// Returns *true* if `self` ends with a given suffix.
   public func ends(with suffix: String, caseSensitive: Bool = true) -> Bool {
     if !caseSensitive {
       return lowercased().hasSuffix(suffix.lowercased())

  
  /// **Mechanica**
  ///
  /// Returns true if `self` starts with a given prefix.
  public func starts(with prefix: String, caseSensitive: Bool = true) -> Bool {
    if !caseSensitive {
      return lowercased().hasPrefix(prefix.lowercased())

  /// - Parameters:
  ///   - target:         target string
  ///   - replacement:    replacement string
  ///   - caseSensitive:  `*true*` (default) for a case-sensitive replacemente
  public func replace(_ target: String, with replacement: String, caseSensitive: Bool = true) -> String {
    let compareOptions: String.CompareOptions = (caseSensitive == true) ? [.literal] : [.literal, .caseInsensitive]
    return self.replacingOccurrences(of: target, with: replacement, options: compareOptions, range: nil)
