get(): B {
        if (this.self.isRight) {
            return <B>this.self.value;
        } else {
            throw new Error('cannot get Right value');