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

  target._unlock()
}

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

/// Writes the textual representation of `value`, and an optional newline,
/// into the standard output.
///

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