I don't think putting the constructor call that generates the value is that useful in the toString. Do we have a standard-ish format in Dart? Maybe "Optional { value: v}" and "Optional { absent }"