Я бы хотел это сделать
fun <A> doSomething(block: A.Companion.() -> Unit): Unit { // bla bla bla A.block() }
Возможно ли это? Если не? Это в дорожной карте?
Нет, ваш пример невозможен и отсутствует в дорожной карте.
Не у всех классов есть сопутствующие объекты, и нет возможности проверить, есть ли у этого класса.