private Expression orStatement( List<Expression> args, String caller ) {
      
      // return the first non-false value
      for( int i = 0; i < args.size(); ++i ) {
         if ( args.get(i).show(defSubst, caller).compareTo("#f") != 0 ) {
            return args.get(i).eval(defSubst, caller);
         }
      }
      
      return new Value("#f");      
   }