fn collect_expr_writes_checked<'hir>( hir: &'hir Hir<'hir>, expr: &'hir Expr<'hir>, candidates: &HashSet<VariableId>, writes: &mut HashSet<VariableId>, bases: &'hir [ContractId], ) -> Result<(), ()>