Added target<void>() case to return a pointer to the active member (if any).

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