takeIf { predicate } возвращает объект или null; takeUnless — наоборот; удобны в цепочках с ?..
Разбор
url.takeIf { it.isNotBlank() }?.let(::load).
- Читаемее вложенных if для простых фильтров.
- Не усложняйте длинными предикатами.
- Комбинация со scope functions.
Итог
takeIf — компактный фильтр значения в expression-цепочке.