So, there were a few issues with my union. I've fixed them. Attached is the diff as it stands right now.