code: def choices(self):
          
          if isinstance(self._choices, Promise):
              self._choices = list(self._choices)
          return self._choices
docs: When it's time to get the choices, if it was a lazy then figure it out
          now and memoize the result.