일급 함수를 인자로 넘겨줄때

일급함수를 함수에 인자로 넘겨줄때는 자료형을 잘 확인 해야 한다

이번에 있었던 케이스는

val 1stFunc = { it.something.seq }
fun groupByFunc(data: List<SomeThing>, selector: (someThing)-> Unit) {    val data = data.groupBy(selector)    return 원본 데이터
}fun groupByFunc(data: List<SomeThing>, selector: (someThing)-> Any) {    val data = data.groupBy(selector)    return 가공된 데이터
}

이런식으로 동작하였다

즉 올바른 함수를 전달해주어도 수신 하는 입장에서 타입이 정의되어 있다면 생각한 바와 다르게 동작한다.