I am trying to say, what if to make it possible for any function be used as an extension function? That is if we have:
fun func1(a1 : T1, a2 : T2, ..., a_n:Tn) : Tz
then it would be also seen as:
fun T1.func1(a2 : T2, ..., a_n:Tn) : Tz
In such a case it would be even possible:
request
. validate(someArg1)
. persist(someArg2, someArg3)
. notify()
. getResponse();