type a = Option; type a<'a, 'b, 'c: 'a + 'b, T: 'a + for<'b> ::iter::Iterator, U, V, R = Result> where 'b: 'a, U: Eq, V: Fn(bool, i32) -> String = Option<'a, T, U = Result>; type a where T: Fn(bool, str, isize, usize, i32, u32) -> u32 = Option<'a, T, U = Result,>; type a u32> = Option<'a, T, U = Result,>; type a<'a, 'b> where 'a: 'b = Option; //type a where for<'a: 'b> = Option; type a where for<'a: 'b> T: Iterator + 'a = Option;