anchor.diff:          if (e is FunctionElement) {
             newModelElement = ModelFunction(e, library, packageGraph);
           } else if (e is GenericFunctionTypeElement) {
  +          // TODO(scheglov) "e" cannot be both GenericFunctionTypeElement,
  +          // and FunctionTypeAliasElement or GenericTypeAliasElement.
             if (e is FunctionTypeAliasElement) {
               assert(e.name != '');
               newModelElement = ModelFunctionTypedef(e, library, packageGraph);
  
positive.code:   }
  
    bool get canHaveParameters =>
        element is ExecutableElement || element is FunctionTypedElement;
  
    ModelElement _buildCanonicalModelElement() {
      Container preferredClass;
  
negative.code:         } else {
            params = (element as FunctionTypedElement).parameters;
          }
        }
        if (params == null && element is FunctionTypeAliasElement) {
          params = (element as FunctionTypeAliasElement).function.parameters;
        }
  
        _parameters = UnmodifiableListView<Parameter>(params
  