convert datetype for runtime

java.util.{List,Set} => Seq
java.util.Map => Map

but it can not convert Seq into java.util.Set, so set() and tuple()
and array() can not been handled gracefully (back with the original
type).

We can not access items in ArrayType by position, but this is not defined
for set().

Do we still want to support set()/tuple()/array() ?