class Probatio::Context

def do_assert(as, msg, &block)

def do_assert(as, msg, &block)
  do_assert_(as) do
    rs, ws = as.partition(&block)
    wi = ws.empty? ? -1 : as.index(ws.first)
    wi == -1 ? true :
    "not #{msg}: arg[#{wi}]: #{val_to_s(ws.first)}"
  end
end