pub type Option(some) { Some(some) None } fn replace(option: Option(a), with: b) -> Option(b) { case option { Some(_) -> Some(with) None -> None } } fn are_equal(lhs: a, rhs: a) -> Bool { lhs == rhs } pub fn main() { are_equal(1, 2) are_equal("hi", "hello") replace(Some(10), 20) replace(Some("hi"), "hello") }