In Scala, algebraic data types are encoded as sealed one-level type hierarchies. Example:
sealed
-- Haskell data