docs: def mui(x, y):
      """MUtial Information"""
      assert len(x) == len(y)
      l = len(x)
      p_x = Counter(x)
      p_y = Counter(y)
      p_xy = Counter(zip(x, y))
      return sum(p_xy[(x, y)] * math.log((p_xy[(x, y)] * l) / float(p_x[x] * p_y[y]), 2) / l
                 for x, y in p_xy)