exists(f: (a: A) => boolean): boolean {
        return this.self.isLeft ? f(<A>this.self.value) : false;
    }