One thought on this (I think I mentioned separately) -- would you want to add a `spark.sql.types` package and module that this is in, so we can have a single class in both Java and Scala without asking the user to import Catalyst? It could also hold stuff like Generator.