Implement +-closure and ?

- X+ is translated to X X*
- X? is translated to (X,)
Don't dereference nullptr in valfile::operator<, valfile::operator==