type a<'a, T> where T: 'a = bool; type a<'a, 'b, 'c> where 'b: 'a, 'c: 'a + 'b = bool; type a where T: for<'a> ::iter::Iterator + Sized = bool; type a where T: Fn(A, B) -> () = bool; type a where T: Fn() -> () = bool; type a<'a, 'b, T, U> where for<'a> T: Iterator + 'a, U: Option, 'a: 'b = bool; type a where T: Fn(A, B) = bool;