lastThatOrNull

inline fun <T> Iterable<T>.lastThatOrNull(predicate: (index: Int, T) -> Boolean): T?
inline fun <T> List<T>.lastThatOrNull(predicate: (index: Int, T) -> Boolean): T?
inline fun <T> Array<T>.lastThatOrNull(predicate: (index: Int, T) -> Boolean): T?
inline fun ByteArray.lastThatOrNull(predicate: (index: Int, Byte) -> Boolean): Byte?
inline fun ShortArray.lastThatOrNull(predicate: (index: Int, Short) -> Boolean): Short?
inline fun IntArray.lastThatOrNull(predicate: (index: Int, Int) -> Boolean): Int?
inline fun LongArray.lastThatOrNull(predicate: (index: Int, Long) -> Boolean): Long?
inline fun FloatArray.lastThatOrNull(predicate: (index: Int, Float) -> Boolean): Float?
inline fun DoubleArray.lastThatOrNull(predicate: (index: Int, Double) -> Boolean): Double?
inline fun BooleanArray.lastThatOrNull(predicate: (index: Int, Boolean) -> Boolean): Boolean?
inline fun CharArray.lastThatOrNull(predicate: (index: Int, Char) -> Boolean): Char?