Generic helpers can work with optional values without knowing their concrete type ahead of time.

Replace nil with a default

generic_optionals.swift
func valueOrDefault<T>(_ value: T?, fallback: T) -> T {
    return value ?? fallback
}

let hasNickname = 
let nickname = hasNickname ? "Ada" : nil
let display = valueOrDefault(nickname, fallback: "guest")
let message = "name=\(display)"

print(message)
func valueOrDefault<T>(_ value: T?, fallback: T) -> T {
    return value ?? fallback
}

let hasNickname = 
let nickname = hasNickname ? "Ada" : nil
let display = valueOrDefault(nickname, fallback: "guest")
let message = "name=\(display)"

print(message)
optional generic A generic optional helper can express fallback behavior once and keep the returned type precise.