Implement final wildcards.

Also, replace the myriad of 'Either's with ad-hoc types.