# Enumerations Enumerations are sum types. ## Example: The Option Type ``` enum Option[A] is record Some[A] is (value: A) object None fn some[A]: (a: A) => Some[A] is a => Some(a) ``` ## Example: The Either Type TODO: Describe import behavior! Does importing Either import Left/Right? ``` enum Either[L, R] is record Left[L] is { value: L } record Right[R] is { value: R } fn left[L]: (left: L) => Either[L, Nothing] is l => Left { l } fn right[R]: (right: R) => Either[Nothing, R] is r => Right { r } ```