     range searchRange: Range<Index>? = nil
   ) -> String {
     // FIXME: " != nil" needed pending <rdar://problem/16997968> 
-    return searchRange || options != nil 
+    return (searchRange !=  nil) || (options != nil)
     ? _ns.stringByReplacingOccurrencesOfString(
       target,
       withString: replacement, options: options,
-      range: _toNSRange(searchRange ? searchRange! : indices(self))
+      range: _toNSRange(searchRange != nil ? searchRange! : indices(self))
     )
     : _ns.stringByReplacingOccurrencesOfString(target, withString: replacement)
   }

      _toNSRange(range),
      scheme: tagScheme,
      options: opts,
      orthography: orthography ? orthography! : nil
    ) {
      var stop_ = false
      body($0, self._range($1), self._range($2), &stop_)

    return _optionalRange(
      _ns.rangeOfCharacterFromSet(
        aSet, options: mask,
        range: _toNSRange(aRange != nil ? aRange! : indices(self))))
  }

  // - (NSRange)rangeOfComposedCharacterSequenceAtIndex:(NSUInteger)anIndex
