The names of the product elements
The name of the type
An Option factory which creates Some(x) if the argument is not null,
and None if it is null.
Some(value) if value != null, None if value == null
An Option factory which returns None in a manner consistent with
the collections hierarchy.
Unless a given condition is true, this will evaluate the a argument and
return Some(a). Otherwise, a is not evaluated and None is returned.
When a given condition is true, evaluates the a argument and returns
Some(a). When the condition is false, a is not evaluated and None is
An implicit conversion that converts an option to an iterable value