Destructuring Declarations with getter and setter

Firstly, you have unorthodox use of lazy. lazy is usually used as delegate, not as function.

Your use case seems to be very narrow and suggested syntax is definitely not possible since it overlaps with “normal” destructuring declaration. For example, this code:

val (request, response, result) = lazy {
    toRequest.responseObject(jacksonDeserializerOf<Map<String, Any?>>())
}.value

will produce valid result.