Perhaps it is the same problem as More help understanding the _ variable
because when I added additional implementations of list2 and list3, the compiler errors go away
def list3(a:Int,b:Int,c:Int):List[Int] = {
List(a,b,c)
}
def list2(a:Int,b:Int):List[Int] = {
List(a,b)
}