exists( f: Predicate< A > ): boolean {
        return this.nonEmpty && f( this.get() );
    }