Estender genérico não pode adicionar o mesmo tipo

Eu sou novo nesses tipos genéricos. No código abaixo, criei um método que aceita uma lista de itens que estende "String".

Minha pergunta? - Quando a lista pode ser atribuída com uma nova lista, por que uma string "test" não pode ser adicionada ... Isso me dá um erro de compilação.

public class Child {
    public void takeList(List<? extends String> list){
        list = new ArrayList<String>();
        list.add("test");
    }
}

questionAnswers(3)

yourAnswerToTheQuestion