docs: def max(self, func=lambda x: x):
          """
          Returns the max value of data elements
          :param func: lambda expression to transform data
          :return: maximum value
          """
          if self.count() == 0:
              raise NoElementsError(u"Iterable contains no elements")
          return max(self.select(func))