maybe cleaner/faster as a list iteration,
```python
return [self.value[0]] + [val for oper, val in self.operator_operands(self.value[1:])]
```

or clearer
```python
first, rest = [self.value[0]], self.value[1:]
return first + [val for oper, val in self.operator_operands(rest)]
```
are there more semantic names for `first` and `rest`?  what makes `rest` special?