NamedInstances type

"Named instances" are typically called enums or enumerated values in other languages.

Example

type Color(NamedInstances)

F init(c:Color, numval:Int) c.numval = numval

Color.NamedInstances = ns {
	RED = Color(4)
	GREEN = Color(2)
	BLUE = Color(1)
}

echo(Color.NamedInstances)  # {RED=<Color numval=4 name=RED>, ...}
echo(2.decode(Color))       # <Color numval=2 name=GREEN>
echo("RED".decode(Color))   # <Color numval=4 name=RED>