Is there a deep reason why System.Posix.Terminal.TerminalAttributes is a non-abstract type? If not, I propose changing it into a newtype and export it abstractly. Cheers, S.