PHP: string = null VS ?string

Definujeme-li funkci či metodu, která obsahuje vstupní parametr, a ten může být prázdný, máme dvě možnosti:

public function setName(string $name = null)
{
    $this->name = $name;
}

a nově od verze PHP 7.1:

public function setName(?string $name)
{
    $this->name = $name;
}

Obě syntaxe jsou téměř totožné. Jaký je mezi nimi tedy rozdíl?

Pokračování textu PHP: string = null VS ?string