fn derive_inner_type( seen_messages: &mut BTreeSet<String>, ty: Kind, ) -> Result<SqlColumnType, Error>