Лично я использую @inline для псевдонима:
class A(param: Param){
@inline def a = param.a
def a2() = a * a
}
Теперь я не смог найти способ узнать, что он делает (я пытался создать сгенерированный класс, но не смог ничего сделать)
Моя цель - указать, что я хочу, чтобы компилятор делал. Но пусть он решает, что лучше, или просто делает то, на что способен. Если этого не произойдет, возможно, будет выпущена более поздняя версия компилятора.