Exhaustively matches sealed traits/classes, Java enums and Scala enumerations.