func foo(String data) {
  data.appnedString
}
func bar(Array data) {
  data.appnedArray
}

動的型付にこんなふうにインターフェース情報に更にインターフェース情報を
追加しなきゃいけないってな対になる概念はないからな
静的型付言語だけでよろしくやってくれよとしか言い様がないな