docs: def uniq_by(self, func: Callable[[T], Any]) -> 'TList[T]':
          """
          Usage:
  
              >>> TList([1, 2, 3, -2, -1]).uniq_by(lambda x: x**2)
              [1, 2, 3]
          """
          rs = TList()
          for e in self:
              if func(e) not in rs.map(func):
                  rs.append(e)
          return rs