jckarter/clay — pull request #400 by stepancheg (2012-10-09 09:00:33+00:00)
Title: Closed variants

Closed variant cannot be modified with `instance` statement.

Variant is closed if declaration lists members. Example. Open
variant:

```
variant Exception;
instance Exception (IOError);
```

Closed variant:

```
variant Season (Winter, Spring, Summer, Autumn);
instance Season (OffSeason); // compile-time error
```

This patch is necessary to clearly distinguish library variants
that are designed to be extendable (like Exception) from variants
that have fixed number of instances by design (like Maybe).