+ use `.cast/.call`, `throw` with user/issues