         guard self != nil else { return nil }
         return optional
     }
-    
+
     /// 解包可选值，当可选值不为空时，执行 `then` 闭包，并返回执行结果
     /// 可以将多个可选项连接在一起
     /// - Parameter then: 可选值不为空时，执行的操作

    }

    /// 将当前可选值与其他可选值组合在一起。当且仅当三个可选值都不为空时组合成功，否则返回空。
    ///
    /// - Parameters:
    ///   - other: 第二个可选值
    ///   - another: 第三个可选值
    public func rat_zip3<A, B>(with other: Optional<A>, another: Optional<B>) -> (Wrapped, A, B)? {
        guard let first = self,
            let second = other,
            let third = another else { return nil }
        return (first, second, third)
    }


    }

    /// 将当前可选值与其他可选值组合在一起。当且仅当两个可选值都不为空时组合成功，否则返回空。
    /// - Parameter other: 其他可选值
    public func rat_zip2<T>(with other: Optional<T>) -> (Wrapped, T)? {
        guard let first = self, let second = other else { return nil }
