 
 /// 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 {
+public func ??=<Wrapped>(lhs:inout Wrapped?, rhsClosure:@autoclosure ()throws->Wrapped?) rethrows {
 	if lhs == nil {
 		let rhs:Wrapped? = try rhsClosure()
 		if rhs != nil {

//}
///// 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 {
//	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
