Instance `Eq` for `DataType`
Exports/Imports and an instance.
`(\(_,s,w) -> (s,w)) . runRWS` -> `execRWS`
TAC and TACGenerator