elect
MAX
val <E> Enum<E>.Companion.MAX get() = enumValues().size
Type arguments for outer class are redundant when nested class is referenced
inline val <reified T : Enum<T>> T.MAX get() = enumValues<T>().size
A modern programming language that makes developers happier.