Custom class for enumeration type.
Option takes no argument.
Option takes no argument. At all. It is either there or it isn't.
Option takes any number of arguments.
Option takes any number of arguments. (.opt[List[Int]])
Option takes only one argument.
Option takes only one argument. (for example, .opt[Int])
An enumeration of possible arg types by number of arguments they can take.