Performs a search for a term and returns a list of possible matching :class:`Word`
        objects.
        
        Args:
            term: The term to be defined.
        
            limit (optional): Max amount of results returned.
                Defaults to 3.
        
        Note:
            The API will relay a fixed number of words and definitions, so ``limit`` can be
            arbitrarily high if needed or wanted.
        
        Returns:
            A list of :class:`Word` objects of up to the specified length.
        
        Raises:
            UrbanConnectionError: If the response status isn't ``200``.
            WordNotFoundError: If the response doesn't contain data (i.e. no word found).

async def search(self, term: str, limit: int = 3) -> 'List[Word]':
        """Performs a search for a term and returns a list of possible matching :class:`Word`
        objects.
        
        Args:
            term: The term to be defined.
        
            limit (optional): Max amount of results returned.
                Defaults to 3.
        
        Note:
            The API will relay a fixed number of words and definitions, so ``limit`` can be
            arbitrarily high if needed or wanted.
        
        Returns:
            A list of :class:`Word` objects of up to the specified length.
        
        Raises:
            UrbanConnectionError: If the response status isn't ``200``.
            WordNotFoundError: If the response doesn't contain data (i.e. no word found).
        """
        resp = await self._get(term=term)
        words = resp['list']
        return [Word(x) for x in words[:limit]]