This project seems to be a simplified version of that one, from what I read you seem to be using similar approaches to make the magic happen. I haven't read the entire code so I am probably wrong.
But anyway can the nominal type be used as a better/newer/shorter/lighter alternative to opaque type, since they are conceptually similar ?