Adding UDT as a separate module due to dependency on Scala macros.g