docs: def evaluate(self, item):
          """ Pull the field off the item """
          try:
              for match in PATH_PATTERN.finditer(self.field):
                  path = match.group(0)
                  if path[0] == "[":
                      # If we're selecting an item at a specific index of an
                      # array, we will usually not get back the whole array from
                      # Dynamo. It'll return an array with one element.
                      try:
                          item = item[int(match.group(1))]
                      except IndexError:
                          item = item[0]
                  else:
                      item = item.get(path)
          except (IndexError, TypeError, AttributeError):
              return None
          return item