Added target() to return a pointer to the active member if any.

Reimplemented apply and relational operators on top of the public interface.