docs: def abbr(value: Any, limit: int=20) -> str:
      """
      Converts a value into its string representation and abbreviates that
      representation based on the given length `limit` if necessary.
      """
      rep = repr(value)
  
      if len(rep) > limit:
          if limit < 3:
              raise ValueError('Abbreviation limit may not be less than 3')
  
          rep = rep[:limit - 3] + '...'
  
      return rep