 @inline(never)
 @_semantics("stdlib_binary_only")
 public func print<T, TargetStream : OutputStreamType>(
-  value: T, inout _ target: TargetStream, appendNewline: Bool
+  value: T, inout _ target: TargetStream, appendNewline: Bool = true
 ) {
   target._lock()
   _print_unlocked(value, &target)

    target.write("\n")
  }
  target._unlock()
}

@inline(never)
@_semantics("stdlib_binary_only")
public func print<T>(value: T) {
  // FIXME: workaround for rdar://20775669
  print(value, appendNewline: true)
}

//===----------------------------------------------------------------------===//

///   newline.
@inline(never)
@_semantics("stdlib_binary_only")
public func print<T>(value: T, appendNewline: Bool = true) {
  var target = _Stdout()
  target._lock()
  _print_unlocked(value, &target)
