anchor.diff:      and [<AllowNullLiteral>] PassThroughStatic = 
           [<Emit("new $0()")>] abstract Create: unit -> PassThrough
   
  -    
       and Globals =
  -        [<Import("Stream", "stream")>]
  -        member __.Stream with get(): StreamStatic = jsNative and set(v: StreamStatic): unit = jsNative
  -        [<Import("Readable", "stream")>]
  -        member __.Readable with get(): ReadableStatic = jsNative and set(v: ReadableStatic): unit = jsNative
  -        [<Import("Writable", "stream")>]
  -        member __.Writable with get(): WritableStatic = jsNative and set(v: WritableStatic): unit = jsNative
  -        [<Import("Duplex", "stream")>]
  -        member __.Duplex with get(): DuplexStatic = jsNative and set(v: DuplexStatic): unit = jsNative
  -        member __.TransformOptions with get(): TransformOptions = jsNative and set(v: TransformOptions): unit = jsNative
  -        [<Import("Transform", "stream")>]
  -        member __.Transform with get(): TransformStatic = jsNative and set(v: TransformStatic): unit = jsNative
  -        [<Import("PassThrough", "stream")>]
  -        member __.PassThrough with get(): PassThroughStatic = jsNative and set(v: PassThroughStatic): unit = jsNative
  -
  -
  +        abstract Stream: StreamStatic with get, set
  +        abstract Readable: ReadableStatic with get, set
  +        abstract Writable: WritableStatic with get, set
  +        abstract Duplex: DuplexStatic with get, set
  +        abstract Transform: TransformStatic with get, set
  +        abstract PassThrough: PassThroughStatic with get, set
  +
  +[<Import("*", "stream")>]
   let stream: stream_types.Globals = jsNative
   // Stream End
   
  
positive.code: 
  
  
  module net =
      type [<AllowNullLiteral>] Socket =
          inherit stream_types.Duplex
          abstract bufferSize: float with get, set
          abstract remoteAddress: string with get, set
          abstract remoteFamily: string with get, set
          abstract remotePort: float with get, set
          abstract localAddress: string with get, set
          abstract localPort: float with get, set
          abstract bytesRead: float with get, set
          abstract bytesWritten: float with get, set
          abstract destroyed: bool with get, set
          abstract write: buffer: buffer_types.Buffer -> bool
          abstract write: buffer: buffer_types.Buffer * ?cb: Function -> bool
          abstract write: str: string * ?cb: Function -> bool
          abstract write: str: string * ?encoding: string * ?cb: Function -> bool
          abstract write: str: string * ?encoding: string * ?fd: string -> bool
          abstract connect: port: float * ?host: string * ?connectionListener: Function -> unit
          abstract connect: path: string * ?connectionListener: Function -> unit
          abstract setEncoding: ?encoding: string -> unit
          abstract write: data: obj * ?encoding: string * ?callback: Function -> unit
          abstract destroy: unit -> unit
          abstract pause: unit -> Socket
          abstract resume: unit -> Socket
          abstract setTimeout: timeout: float * ?callback: Function -> unit
          abstract setNoDelay: ?noDelay: bool -> unit
          abstract setKeepAlive: ?enable: bool * ?initialDelay: float -> unit
          abstract address: unit -> obj
          abstract unref: unit -> unit
          abstract ref: unit -> unit
          abstract ``end``: unit -> unit
          abstract ``end``: buffer: buffer_types.Buffer * ?cb: Function -> unit
          abstract ``end``: str: string * ?cb: Function -> unit
          abstract ``end``: str: string * ?encoding: string * ?cb: Function -> unit
          abstract ``end``: ?data: obj * ?encoding: string -> unit
          abstract addListener: ``event``: string * listener: Function -> obj
          [<Emit("$0.addListener('close',$1...)")>] abstract addListener_close: listener: Func<bool, unit> -> obj
          [<Emit("$0.addListener('connect',$1...)")>] abstract addListener_connect: listener: Func<unit, unit> -> obj
          [<Emit("$0.addListener('data',$1...)")>] abstract addListener_data: listener: Func<buffer_types.Buffer, unit> -> obj
          [<Emit("$0.addListener('drain',$1...)")>] abstract addListener_drain: listener: Func<unit, unit> -> obj
          [<Emit("$0.addListener('end',$1...)")>] abstract addListener_end: listener: Func<unit, unit> -> obj
          [<Emit("$0.addListener('error',$1...)")>] abstract addListener_error: listener: Func<Error, unit> -> obj
          [<Emit("$0.addListener('lookup',$1...)")>] abstract addListener_lookup: listener: Func<Error, string, U2<string, float>, string, unit> -> obj
          [<Emit("$0.addListener('timeout',$1...)")>] abstract addListener_timeout: listener: Func<unit, unit> -> obj
          abstract emit: ``event``: string * [<ParamArray>] args: obj[] -> bool
          [<Emit("$0.emit('close',$1...)")>] abstract emit_close: had_error: bool -> bool
          [<Emit("$0.emit('connect')")>] abstract emit_connect: unit -> bool
          [<Emit("$0.emit('data',$1...)")>] abstract emit_data: data: buffer_types.Buffer -> bool
          [<Emit("$0.emit('drain')")>] abstract emit_drain: unit -> bool
          [<Emit("$0.emit('end')")>] abstract emit_end: unit -> bool
          [<Emit("$0.emit('error',$1...)")>] abstract emit_error: err: Error -> bool
          [<Emit("$0.emit('lookup',$1...)")>] abstract emit_lookup: err: Error * address: string * family: U2<string, float> * host: string -> bool
          [<Emit("$0.emit('timeout')")>] abstract emit_timeout: unit -> bool
          abstract on: ``event``: string * listener: Function -> obj
          [<Emit("$0.on('close',$1...)")>] abstract on_close: listener: Func<bool, unit> -> obj
          [<Emit("$0.on('connect',$1...)")>] abstract on_connect: listener: Func<unit, unit> -> obj
          [<Emit("$0.on('data',$1...)")>] abstract on_data: listener: Func<buffer_types.Buffer, unit> -> obj
          [<Emit("$0.on('drain',$1...)")>] abstract on_drain: listener: Func<unit, unit> -> obj
          [<Emit("$0.on('end',$1...)")>] abstract on_end: listener: Func<unit, unit> -> obj
          [<Emit("$0.on('error',$1...)")>] abstract on_error: listener: Func<Error, unit> -> obj
          [<Emit("$0.on('lookup',$1...)")>] abstract on_lookup: listener: Func<Error, string, U2<string, float>, string, unit> -> obj
          [<Emit("$0.on('timeout',$1...)")>] abstract on_timeout: listener: Func<unit, unit> -> obj
          abstract once: ``event``: string * listener: Function -> obj
          [<Emit("$0.once('close',$1...)")>] abstract once_close: listener: Func<bool, unit> -> obj
          [<Emit("$0.once('connect',$1...)")>] abstract once_connect: listener: Func<unit, unit> -> obj
          [<Emit("$0.once('data',$1...)")>] abstract once_data: listener: Func<buffer_types.Buffer, unit> -> obj
          [<Emit("$0.once('drain',$1...)")>] abstract once_drain: listener: Func<unit, unit> -> obj
          [<Emit("$0.once('end',$1...)")>] abstract once_end: listener: Func<unit, unit> -> obj
          [<Emit("$0.once('error',$1...)")>] abstract once_error: listener: Func<Error, unit> -> obj
          [<Emit("$0.once('lookup',$1...)")>] abstract once_lookup: listener: Func<Error, string, U2<string, float>, string, unit> -> obj
          [<Emit("$0.once('timeout',$1...)")>] abstract once_timeout: listener: Func<unit, unit> -> obj
          abstract prependListener: ``event``: string * listener: Function -> obj
          [<Emit("$0.prependListener('close',$1...)")>] abstract prependListener_close: listener: Func<bool, unit> -> obj
          [<Emit("$0.prependListener('connect',$1...)")>] abstract prependListener_connect: listener: Func<unit, unit> -> obj
          [<Emit("$0.prependListener('data',$1...)")>] abstract prependListener_data: listener: Func<buffer_types.Buffer, unit> -> obj
          [<Emit("$0.prependListener('drain',$1...)")>] abstract prependListener_drain: listener: Func<unit, unit> -> obj
          [<Emit("$0.prependListener('end',$1...)")>] abstract prependListener_end: listener: Func<unit, unit> -> obj
          [<Emit("$0.prependListener('error',$1...)")>] abstract prependListener_error: listener: Func<Error, unit> -> obj
          [<Emit("$0.prependListener('lookup',$1...)")>] abstract prependListener_lookup: listener: Func<Error, string, U2<string, float>, string, unit> -> obj
          [<Emit("$0.prependListener('timeout',$1...)")>] abstract prependListener_timeout: listener: Func<unit, unit> -> obj
          abstract prependOnceListener: ``event``: string * listener: Function -> obj
          [<Emit("$0.prependOnceListener('close',$1...)")>] abstract prependOnceListener_close: listener: Func<bool, unit> -> obj
          [<Emit("$0.prependOnceListener('connect',$1...)")>] abstract prependOnceListener_connect: listener: Func<unit, unit> -> obj
          [<Emit("$0.prependOnceListener('data',$1...)")>] abstract prependOnceListener_data: listener: Func<buffer_types.Buffer, unit> -> obj
          [<Emit("$0.prependOnceListener('drain',$1...)")>] abstract prependOnceListener_drain: listener: Func<unit, unit> -> obj
          [<Emit("$0.prependOnceListener('end',$1...)")>] abstract prependOnceListener_end: listener: Func<unit, unit> -> obj
          [<Emit("$0.prependOnceListener('error',$1...)")>] abstract prependOnceListener_error: listener: Func<Error, unit> -> obj
          [<Emit("$0.prependOnceListener('lookup',$1...)")>] abstract prependOnceListener_lookup: listener: Func<Error, string, U2<string, float>, string, unit> -> obj
          [<Emit("$0.prependOnceListener('timeout',$1...)")>] abstract prependOnceListener_timeout: listener: Func<unit, unit> -> obj
  
      and [<AllowNullLiteral>] SocketType =
          [<Emit("new $0($1...)")>] abstract Create: ?options: obj -> Socket
  
      and [<AllowNullLiteral>] ListenOptions =
          abstract port: float option with get, set
          abstract host: string option with get, set
          abstract backlog: float option with get, set
          abstract path: string option with get, set
          abstract exclusive: bool option with get, set
  
      and [<AllowNullLiteral>] Server =
          inherit event_types.EventEmitter
          abstract maxConnections: float with get, set
          abstract connections: float with get, set
          abstract listen: port: float * ?hostname: string * ?backlog: float * ?listeningListener: Function -> Server
          abstract listen: port: float * ?hostname: string * ?listeningListener: Function -> Server
          abstract listen: port: float * ?backlog: float * ?listeningListener: Function -> Server
          abstract listen: port: float * ?listeningListener: Function -> Server
          abstract listen: path: string * ?backlog: float * ?listeningListener: Function -> Server
          abstract listen: path: string * ?listeningListener: Function -> Server
          abstract listen: options: ListenOptions * ?listeningListener: Function -> Server
          abstract listen: handle: obj * ?backlog: float * ?listeningListener: Function -> Server
          abstract listen: handle: obj * ?listeningListener: Function -> Server
          abstract close: ?callback: Function -> Server
          abstract address: unit -> obj
          abstract getConnections: cb: Func<Error, float, unit> -> unit
          abstract ref: unit -> Server
          abstract unref: unit -> Server
          abstract addListener: ``event``: string * listener: Function -> obj
          [<Emit("$0.addListener('close',$1...)")>] abstract addListener_close: listener: Func<unit, unit> -> obj
          [<Emit("$0.addListener('connection',$1...)")>] abstract addListener_connection: listener: Func<Socket, unit> -> obj
          [<Emit("$0.addListener('error',$1...)")>] abstract addListener_error: listener: Func<Error, unit> -> obj
          [<Emit("$0.addListener('listening',$1...)")>] abstract addListener_listening: listener: Func<unit, unit> -> obj
          abstract emit: ``event``: string * [<ParamArray>] args: obj[] -> bool
          [<Emit("$0.emit('close')")>] abstract emit_close: unit -> bool
          [<Emit("$0.emit('connection',$1...)")>] abstract emit_connection: socket: Socket -> bool
          [<Emit("$0.emit('error',$1...)")>] abstract emit_error: err: Error -> bool
          [<Emit("$0.emit('listening')")>] abstract emit_listening: unit -> bool
          abstract on: ``event``: string * listener: Function -> obj
          [<Emit("$0.on('close',$1...)")>] abstract on_close: listener: Func<unit, unit> -> obj
          [<Emit("$0.on('connection',$1...)")>] abstract on_connection: listener: Func<Socket, unit> -> obj
          [<Emit("$0.on('error',$1...)")>] abstract on_error: listener: Func<Error, unit> -> obj
          [<Emit("$0.on('listening',$1...)")>] abstract on_listening: listener: Func<unit, unit> -> obj
          abstract once: ``event``: string * listener: Function -> obj
          [<Emit("$0.once('close',$1...)")>] abstract once_close: listener: Func<unit, unit> -> obj
          [<Emit("$0.once('connection',$1...)")>] abstract once_connection: listener: Func<Socket, unit> -> obj
          [<Emit("$0.once('error',$1...)")>] abstract once_error: listener: Func<Error, unit> -> obj
          [<Emit("$0.once('listening',$1...)")>] abstract once_listening: listener: Func<unit, unit> -> obj
          abstract prependListener: ``event``: string * listener: Function -> obj
          [<Emit("$0.prependListener('close',$1...)")>] abstract prependListener_close: listener: Func<unit, unit> -> obj
          [<Emit("$0.prependListener('connection',$1...)")>] abstract prependListener_connection: listener: Func<Socket, unit> -> obj
          [<Emit("$0.prependListener('error',$1...)")>] abstract prependListener_error: listener: Func<Error, unit> -> obj
          [<Emit("$0.prependListener('listening',$1...)")>] abstract prependListener_listening: listener: Func<unit, unit> -> obj
          abstract prependOnceListener: ``event``: string * listener: Function -> obj
          [<Emit("$0.prependOnceListener('close',$1...)")>] abstract prependOnceListener_close: listener: Func<unit, unit> -> obj
          [<Emit("$0.prependOnceListener('connection',$1...)")>] abstract prependOnceListener_connection: listener: Func<Socket, unit> -> obj
          [<Emit("$0.prependOnceListener('error',$1...)")>] abstract prependOnceListener_error: listener: Func<Error, unit> -> obj
          [<Emit("$0.prependOnceListener('listening',$1...)")>] abstract prependOnceListener_listening: listener: Func<unit, unit> -> obj
  
      type [<Import("*","net")>] Globals =
          static member Socket with get(): SocketType = jsNative and set(v: SocketType): unit = jsNative
          static member createServer(?connectionListener: Func<Socket, unit>): Server = jsNative
          static member createServer(?options: obj, ?connectionListener: Func<Socket, unit>): Server = jsNative
          static member connect(options: obj, ?connectionListener: Function): Socket = jsNative
          static member connect(port: float, ?host: string, ?connectionListener: Function): Socket = jsNative
          static member connect(path: string, ?connectionListener: Function): Socket = jsNative
          static member createConnection(options: obj, ?connectionListener: Function): Socket = jsNative
          static member createConnection(port: float, ?host: string, ?connectionListener: Function): Socket = jsNative
          static member createConnection(path: string, ?connectionListener: Function): Socket = jsNative
          static member isIP(input: string): float = jsNative
          static member isIPv4(input: string): bool = jsNative
          static member isIPv6(input: string): bool = jsNative
  
  
  
  
negative.code:         [<Emit("new $0()")>] abstract Create: unit -> EventEmitter
  
      type Globals =
          abstract defaultMaxListeners: float with get, set
          abstract EventEmitter: EventEmitterStatic with get, set
  
  [<Import("*", "events")>]
  let events: event_types.Globals = jsNative
  // Events end
  
  