 //}
 ///// 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:@autoclosure ()throws->Wrapped) rethrows {
 //	if lhs == nil {
 //		let rhs:Wrapped = try rhsClosure()
 //		lhs = rhs


/// 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 `rhs` is non-`nil`..
/// - Remark: effectively `lhs = rhs ?? lhs` _(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!
