# Generic struct specialization test struct Box value: T end # Generic enum specialization test enum Option Some(T), None, end # Generic function specialization test fn unwrap(opt: Option) -> T match opt Option::None() => -1, Option::Some(v) => v, end # Generic struct with generic enum test fn test_containers() -> int do let box_int = Box { value: 42 }; let box_string = Box { value: "Fermented" }; let some_int = Option::Some(10); let some_bool = Option::Some(true); let unwrapped = unwrap(some_int); let unwraped_bool = unwrap(some_bool); box_int.value + unwrapped end