anchor.diff:      inherit Attribute()
   
   /// Function calls will be replaced by inlined JS code.
  -/// More info: http://fable.io/docs/interacting.html#emit-attribute
  +/// More info: https://fable.io/docs/communicate/js-from-fable.html#emit-when-f-is-not-enough
   type EmitAttribute(macro: string, isStatement: bool) =
       inherit Attribute()
       new (macro: string) = EmitAttribute(macro, isStatement=false)
  
positive.code:     inherit Attribute()
  
  /// Used for erased union types and to ignore modules in JS compilation.
  /// More info: http://fable.io/docs/interacting.html#Erase-attribute
  type EraseAttribute() =
      inherit Attribute()
      new (caseRules: CaseRules) = EraseAttribute()
  
negative.code:     static member op_ErasedCast(x:'d) = Case4 x
  
  /// Erased union type to represent one of five possible values.
  /// More info: https://fable.io/docs/communicate/js-from-fable.html#erase-attribute
  type [<Erase>] U5<'a, 'b, 'c, 'd, 'e> =
      | Case1 of 'a
      | Case2 of 'b
  