diff --git a/src/__init__.py b/src/__init__.py
index b4a08714be4c5a0cad28eb3b84b1d4e084c2d5c1..fe5471741121de8cb8a636ab9670ff0e426831e0 100644
--- a/src/__init__.py
+++ b/src/__init__.py
@@ -575,6 +575,26 @@ def all_roughly_equal(iterable, threshold):
 
 
 
+def common_prefix(iterable, empty=None):
+    it = iter(iterable)
+    try:
+        pfx = it.next()
+    except StopIteration:
+        return  empty
+
+    for v in it:
+        for j in range(len(pfx)):
+            if pfx[j] != v[j]:
+                pfx = pfx[:j]
+                if j == 0:
+                    return pfx
+                break
+
+    return pfx
+
+
+
+
 def decorate(function, list):
     return map(lambda x: (x, function(x)), list)