=begin pod

=head1 Enum

    class Enum does Associative { ... }

An C<Enum> consists of a key and a value. It is the immutable version of
C<Pair> (which inherits from Enum).

=head2 Methods

=head3 key

    multi method key(Enum:D:)

Returns the key part of the Enum.

=head3 value

    multi method value(Enum:D:)

Returns the value part of the Enum.

=head3 invert

    multi method invert(Enum:D:) returns Enum:D

Returns a new C<Enum> with the original enum's value as the key, and the
original enum's key as value.

=end pod
