简化结构，合并Guard和WithGuard方法