# File lib/more/facets/random.rb, line 68
    def at_rand
      first, last = first(), last()
      if first.respond_to?(:random_delta)  # TODO: work on this!!!
        begin
          first.random_delta(last, exclude_end?)
        rescue
          to_a.at_rand
        end
      else
        to_a.at_rand
      end
      ##elsif first.respond_to?(:succ)
      ##  # optimized algorithm
      ##  if (Fixnum === first || Bignum === first) &&
      ##     (Fixnum === last  || Bignum === last)
      ##    last -= 1 if exclude_end?
      ##    return nil if last < first
      ##    return Random.number(last - first + 1) + first
      ##  end
      ##  # standard algorithm
      ##  return to_a.at_rand
      ##elsif Numeric === first && Numeric === last
      ##  return nil if last < first
      ##  return nil if exclude_end? && last == first
      ##  return (last - first) * Random.number + first
      ##else
      ##  return nil
      ##end
    end