don't check-cast on every :arg local, only once