anchor.diff:  
     @override
     TypeImpl withNullability(NullabilitySuffix nullabilitySuffix) {
  -    switch (nullabilitySuffix) {
  -      case NullabilitySuffix.question:
  -        return instanceNullable;
  -      case NullabilitySuffix.star:
  -        return instanceIndeterminate;
  -      case NullabilitySuffix.none:
  -        return instanceNonNullable;
  -    }
  -    throw StateError('Unexpected nullabilitySuffix: $nullabilitySuffix');
  +    // The bottom type is always non-nullable.
  +    return this;
     }
   }
   
  
positive.code:  * `...`.
   */
  class CircularTypeImpl extends DynamicTypeImpl {
    CircularTypeImpl() : super._circular(NullabilitySuffix.star);
  
    @override
    bool operator ==(Object object) => object is CircularTypeImpl;
  
negative.code:   TypeImpl withNullability(NullabilitySuffix nullabilitySuffix);
  
    void _appendNullability(StringBuffer buffer) {
      if (isDynamic || isBottom || isVoid) {
        // These types don't have nullability variations, so don't append
        // anything.
        return;
      }
      switch (nullabilitySuffix) {
        case NullabilitySuffix.question:
          buffer.write('?');
  