def select(&block)
      result=[]
      @elems.each_pair{|event,xpr| result.push(event) if block.call(event,xpr);}
      result
    end
def select(&block)
      result=[]
      @elems.each_pair{|event,xpr| result.push(event) if block.call(event,xpr);}
      result
    end
Selects events using the user supplied block/Proc. The Proc must accept
 two parameters: an Event and a TemporalExpression. It will be called
 with each existing Event-expression pair at which point it can choose
 to include the Event in the final result by returning true or to filter
 it by returning false.