`assume-type' takes a predicate which may not
necessarily be a type predicate.  Also

  (assume-type pred obj)

is actually more verbose than

  (assume (pred obj))

Given that `pred' would typically be included in
the error message, I don't think diagnostics are
improved much either.  Do we really need this
second syntax?

-- 
Alex