class Probatio::Context

def assert_size(*as)

def assert_size(*as)
  ai =
    as.index { |a| a.is_a?(Integer) && a >= 0 } ||
    fail(ArgumentError.new("assert_size found no integer >= 0"))
  sz = as.delete_at(ai)
  as = as.collect { |a| a.respond_to?(:size) ? a.size : a.class }
  do_assert(as, "size #{sz}") { |a| a == sz }
end