valparam and varparam
better handling of case classes