#[allow(non_camel_case_types)] pub type IMPL_T = Option; pub pure fn EACH(self: &IMPL_T, f: fn(v: &A) -> bool) { match *self { None => (), Some(ref a) => { f(a); } } } pub pure fn SIZE_HINT(self: &IMPL_T) -> Option { match *self { None => Some(0), Some(_) => Some(1) } }