fix some warnings
Change "bottom" to "empty".
introduce EncodedAdt.hs-boot to break dependency cycle