anchor.diff:   * A method-local immutable mapping from variables to their inferred
    * [ConcreteTypes]. Each visitor owns one.
    */
  -class ConcreteTypesEnvironment implements Hashable {
  +class ConcreteTypesEnvironment {
     final Map<Element, ConcreteType> environment;
     final BaseType typeOfThis;
     ConcreteTypesEnvironment([this.typeOfThis]) :
  
positive.code:  * An immutable set of base types, like [: {int, bool} :] or the unknown
   * concrete type.
   */
  abstract class ConcreteType extends Hashable {
    factory ConcreteType.empty() => new UnionType(new Set<BaseType>());
  
    /**
  
negative.code:  *   - the null base type
   *   - the unknown base type
   */
  abstract class BaseType {
    bool isUnknown();
    bool isNull();
  }
  