Нада помощь с типами) думаю, код всё расскажет
https://www.typescriptlang.org/play?#code/IYIwzgLgTsDGEAJYBthjAgasZBXApgIKyz7oDK0wE+A5gJ4A8AKgHwIDeAUArwgA64QyAJawEoSDHgJa+CAAoAlAC4EzHn0HCxE8FRlh5CgG44Ca5qoQmA9iIAmXAL5cuEev3wIAYragAtiwI+AAeNAB2DhgcANoACmpSIhG0ALpq2HhEJGRglDA0DCwJaazO7AC8nAkIKQgA1vj0tgBm6hnqpc5AA