It looks like early- and late-bound lifetimes behave differently in default object bounds: ```rust trait A<'a>: 'a {} pub fn foo<'a>(x: Box<A<'a>>) -> Box<A<'a> + 'static> // Infers 'static { x } pub fn bar<'a>(x: Box<A<'a> + 'a>) -> Box<A<'a>> // Infers 'a where 'a: 'a { x } ```