fun TypeName.extensionName(params, ...) { /* body */ } // Declaration
fun <T: Any> TypeNameWithGenerics<T>.extensionName(params, ...) { /* body */ } // Declaration with Generics
myObj.extensionName(args, ...) // invocation
Extensions are resolved statically. This means that t...