Не пойму, в чем troubles

Задача:
Создайте страницу, которая предлагает ввести два числа и выводит их сумму.
Код:


var firstNum: number,
secondNum: number;

firstNum = +prompt(‘TASK 1. input first number’);
secondNum = +prompt(‘input second number’);

if (isFinite(firstNum) && isFinite(secondNum)) {
alert(addition(firstNum, secondNum));
} else {
alert(‘Invalid number!’);
}

// add numbers correctly
function addition(a: number, b: number): number {
if ( (Math.round(a) - a === 0) && (Math.round(b) - b === 0) ) {
return a + b;
} else {
return (a * 10 + b *10) / 10;
}
}
errors не выдает. но TSLint “советует”:

  1. на переменные firstNum и secondNum
    [ts] Последующие объявления переменных должны иметь тот же тип. Переменная “firstNum” должна иметь тип “any”, однако имеет тип “number”.
  2. на функцию addition
    [ts] Повторяющаяся реализация функции
    function addition(a: any, b: any): any (+1 overload)

Кто - нибудь объяснит мне доступно, что от меня хотят?

Не парьтесь, проблема не в коде. Уже не ругается. То он наверное по причине того, что я сначала написал на JS, а потом на TS похожее, и он недоволен был за несоответствия/повторы.