Not sure I can point you to a tutorial about it or anything specificly about this. There is a short paragraph about it in the official documentation:
https://kotlinlang.org/docs/reference/lambdas.html#function-types
Function types can optionally have an additional receiver type, which is specified before a dot in the notation: the type
A.(B) -> C
represents functions that can be called on a receiver object ofA
with a parameter ofB
and return a value ofC
. Function literals with receiver are often used along with these types.
As well as a part at the end of that page:
https://kotlinlang.org/docs/reference/lambdas.html#function-literals-with-receiver
This SO answer could also be helpful