Почему не может быть удовлетворена эта привязка типа связанного типа с более высоким качеством жизни?

trait A<'self_>: 'self_ {
    type I;
}
trait AMut
    where
        Self: for<'self_> A<'self_>,    
        for<'self_> <Self as A<'self_>>::I: 'static
{
    fn mutate_self(&mut self);      
}

fn foo<X>(x: &mut X)
    where
        X: 'static + for<'a> A<'a> + AMut,
        for<'a> <X as A<'a>>::I: 'static
{
    x.mutate_self();
}

fn main() {}

playpen link

Эта ошибка с помощью

<anon>:17:7: 17:20 error: the requirement `for<'self_> <X as A<'self_>>::I : 'static` is not satisfied [E0280]
<anon>:17     x.mutate_self();
                ^~~~~~~~~~~~~
error: aborting due to previous error
playpen: application terminated with error code 101

Я бы подумал, что связанная строка в строке 15 будет удовлетворять оценке в строке 7. Что мне не хватает?