В случае когда icon == null всегда выбрасывается NPE. Почему? даже когда явно пишу if (tunnel.country.icon != null) все равно npe. Как проверить и чтобы не было npe
Попробуй внутри let использовать it, вместо явного обращения к полю. Ошибок в коде я не вижу
Либо нпе выбрасывается до этого кода
Либо один из объектов цепочки до ?.let = null, но оно бы подсветилось в иде