 // 	With these commented out (using the specializations with always-`Wrapped?` RHSes), we just have to deal with the additional inefficiency of promoting the RHS's `Wrapped` to `Wrapped?` then doing a superfluous `rhs != nil` check.
 ///// Assigns only when `lhs` is `nil`.
 ///// - Remark: effectively `lhs = lhs ?? rhs` _(skipping same-value assignments)_
-//public func ??=<Wrapped>(lhs:inout Wrapped?, rhsClosure:(@autoclosure ()throws->Wrapped)) rethrows {
+//public func ??=<Wrapped>(lhs:inout Wrapped?, rhsClosure:@au÷toclosure ()throws->Wrapped) rethrows {
 //	if lhs == nil {
 //		let rhs:Wrapped = try rhsClosure()
 //		lhs = rhs

#else // #if (swift(>=1.0) && !swift(>=3.4)) || (swift(>=4.0) && !swift(>=4.1.50)) // Only Swift 4.2 compiler or newer (regardless of Swift version mode).
	/// Assigns only when `rhs` is non-`nil`.
	/// - Remark: effectively `lhs = (rhs ?? lhs) ?? nil` _(skipping same-value assignments)_
	public func =??<Wrapped>(lhs:inout Wrapped!, rhsClosure:(@autoclosure ()throws->Wrapped?)) rethrows {
		let rhs:Wrapped? = try rhsClosure()
		if rhs != nil {
			lhs = rhs


/// Assigns only when `lhs` is `nil` (and `rhs` is non-`nil`).
/// - Remark: effectively `lhs = (lhs ?? rhs) ?? nil` _(skipping same-value assignments)_
public func ??=<Wrapped>(lhs:inout Wrapped?, rhsClosure:@autoclosure ()throws->Wrapped?) rethrows {
	if lhs == nil {
		let rhs:Wrapped? = try rhsClosure()
		if rhs != nil {
