It shouldn't need to allocate, and it allows code like the following: ```rust const EMPTY_MAP: HashSet<u32> = HashSet::new(); let x = match &set { Some(t) => t, None => &EMPTY_MAP, }; ```