diff --git a/Package.resolved b/Package.resolved
index 5f2e68ff947b10697835521b7d4554ca87972db2..102feccf3171d3d4b61286f0c8a5a305238779c6 100644
--- a/Package.resolved
+++ b/Package.resolved
@@ -27,6 +27,15 @@
         "version" : "2.2.0"
       }
     },
+    {
+      "identity" : "nifty",
+      "kind" : "remoteSourceControl",
+      "location" : "https://github.com/mingchungx/nifty.git",
+      "state" : {
+        "branch" : "master",
+        "revision" : "ac093ab6a67e4c6c5cfccbe67c65dac06111cf6a"
+      }
+    },
     {
       "identity" : "similarity-topology",
       "kind" : "remoteSourceControl",
diff --git a/Package.swift b/Package.swift
index 44c782e0a8c4e0b0e8b2642c4e1c2e9f597fc39f..d83d3e80f2698f85c62d832d53e1010ff1c44c6f 100644
--- a/Package.swift
+++ b/Package.swift
@@ -22,6 +22,7 @@ let package = Package(
         .package(url: "https://github.com/L1MeN9Yu/Elva", .upToNextMajor(from: "2.1.3")),
         .package(url: "https://github.com/JadenGeller/similarity-topology", .exact("0.1.14")),
         .package(url: "https://github.com/Jounce/Surge.git", .upToNextMajor(from: "2.0.0")),
+        .package(url: "https://github.com/mingchungx/nifty.git", .branch("master"))
     ],
     targets: [
         .target(
@@ -31,6 +32,7 @@ let package = Package(
                 .product(name: "HNSWEphemeral", package: "similarity-topology"),
                 .product(name: "HNSWDurable", package: "similarity-topology", condition: .when(platforms: [.macOS])),
                 .product(name: "HNSWSample", package: "similarity-topology", condition: .when(platforms: [.macOS])),
+                .product(name: "Nifty", package: "nifty"),
                 .product(name: "ZSTD", package: "Elva"),
                 .byName(name: "Surge", condition: .when(platforms: [.macOS])),
             ],
diff --git a/Sources/SwiftNLP/1. Data Collection/HNSW/Metrics/CartesianDistanceMetric.swift b/Sources/SwiftNLP/1. Data Collection/HNSW/Metrics/CartesianDistanceMetric.swift
index c2fb0d99f4887a4e9412abdc86597726351c9d6f..8173b321bdc818409a61ff7c5c262f1fb901bead 100644
--- a/Sources/SwiftNLP/1. Data Collection/HNSW/Metrics/CartesianDistanceMetric.swift	
+++ b/Sources/SwiftNLP/1. Data Collection/HNSW/Metrics/CartesianDistanceMetric.swift	
@@ -38,16 +38,19 @@ public struct CartesianDistanceMetric<Vector: Collection & Codable>: SimilarityM
 }
 
 #else
-// TODO: Import using Nifty (currently unable to fetch package dependency)
-// import Nifty
+import Nifty
 
 /// This implementation may be less efficient on Linux
 public struct CartesianDistanceMetric<Vector: Collection & Codable>: SimilarityMetric where Vector.Element: BinaryFloatingPoint {
     public func similarity(between someItem: Vector, _ otherItem: Vector) -> Vector.Element {
-        return someItem.enumerated().reduce(0) { result, item in
-            let diff = item.element - otherItem[item.offset]
-            return result + diff * diff
+        var sum: Vector.Element = 0
+        
+        for (a, b) in zip(someItem, otherItem) {
+            let difference = a - b
+            sum += difference * difference
         }
+        
+        return sum
     }
 }
 
diff --git a/Sources/SwiftNLP/1. Data Collection/HNSW/Metrics/CosineSimilarityMetric.swift b/Sources/SwiftNLP/1. Data Collection/HNSW/Metrics/CosineSimilarityMetric.swift
index 65d0384d58924f3f61658b29a2dd2abd17b4f073..e793d9115d4ddaf82b59c1a75aaac2dc380719e2 100644
--- a/Sources/SwiftNLP/1. Data Collection/HNSW/Metrics/CosineSimilarityMetric.swift	
+++ b/Sources/SwiftNLP/1. Data Collection/HNSW/Metrics/CosineSimilarityMetric.swift	
@@ -53,8 +53,7 @@ public struct CosineSimilarityMetric<Vector: Collection & Codable>: SimilarityMe
 }
 
 #else
-// TODO: Import using Nifty (currently unable to fetch package dependency)
-// import Nifty
+import Nifty
 
 /// This implementation may be less efficient on Linux
 public struct CosineSimilarityMetric<Vector: Collection & Codable>: SimilarityMetric where Vector.Element: BinaryFloatingPoint {