Ошибка перекликается с соседней темой. В функцию нельзя передать одну и ту же переменную в качестве нескольких аргументов.
Т.е. если у вас есть некоторая функция умножения
m(a;b ):=a*b
То реализовать вычисление квадрата числа с её помощью невозможно.
x:=2
m(x;x)=
Получим всё ту же ошибку "
Элемент с тем же ключом уже был добавлен". Но, в противоположность строкам, здесь интерпретатор реагирует не назначения, а на имена переменных - код:
m(2;2)
работает.
Дважды передать строку с одним именем не получится тоже, что делает решение проблемы с пустыми строками ещё более "корявым".