#[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)
}
}