firstIrOrNull

inline fun <T : IrElement> IrTreeNode.firstIrOrNull(): T?
inline fun <T : IrElement> IrTreeNode.firstIrOrNull(predicate: (T) -> Boolean): T?
inline fun <T : IrElement> Iterable<IrTreeNode>.firstIrOrNull(): T?
inline fun <T : IrElement> Sequence<IrTreeNode>.firstIrOrNull(): T?
inline fun <T : IrElement> Sequence<IrTreeNode>.firstIrOrNull(predicate: (T) -> Boolean): T?
inline fun <T : IrElement> Iterable<IrTreeNode>.firstIrOrNull(predicate: (T) -> Boolean): T?