Hello café, I've never written an Alternative instance for a newtype yet that doesn't look like this: > instance Alternative T where > empty = T empty > T x <|> T y = T (x <|> y) Why does newtype deriving not work for Alternative? (It works fine for Monoid.) Thanks, Martijn.