trait A = B trait A = B + C trait B = Result + Iterator + 'static + Sized trait C = for<'a, 'b: 'a> Foo<&'a Bar>