+diff --git a/float.patch b/float.patch
+index 0ad71a1..e69de29 100644
+--- a/float.patch
++++ b/float.patch
+@@ -1,68 +0,0 @@
+-diff --git a/lib/_stream_duplex.js b/lib/_stream_duplex.js
+-index c5a741c..a2e0d8e 100644
+---- a/lib/_stream_duplex.js
+-+++ b/lib/_stream_duplex.js
+-@@ -26,8 +26,8 @@
+- 
+- module.exports = Duplex;
+- var util = require('util');
+--var Readable = require('_stream_readable');
+--var Writable = require('_stream_writable');
+-+var Readable = require('./_stream_readable');
+-+var Writable = require('./_stream_writable');
+- 
+- util.inherits(Duplex, Readable);
+- 
+-diff --git a/lib/_stream_passthrough.js b/lib/_stream_passthrough.js
+-index a5e9864..330c247 100644
+---- a/lib/_stream_passthrough.js
+-+++ b/lib/_stream_passthrough.js
+-@@ -25,7 +25,7 @@
+- 
+- module.exports = PassThrough;
+- 
+--var Transform = require('_stream_transform');
+-+var Transform = require('./_stream_transform');
+- var util = require('util');
+- util.inherits(PassThrough, Transform);
+- 
+-diff --git a/lib/_stream_readable.js b/lib/_stream_readable.js
+-index 2259d2e..e6681ee 100644
+---- a/lib/_stream_readable.js
+-+++ b/lib/_stream_readable.js
+-@@ -23,6 +23,9 @@ module.exports = Readable;
+- Readable.ReadableState = ReadableState;
+- 
+- var EE = require('events').EventEmitter;
+-+if (!EE.listenerCount) EE.listenerCount = function(emitter, type) {
+-+  return emitter.listeners(type).length;
+-+};
+- var Stream = require('stream');
+- var util = require('util');
+- var StringDecoder;
+-diff --git a/lib/_stream_transform.js b/lib/_stream_transform.js
+-index e925b4b..f08b05e 100644
+---- a/lib/_stream_transform.js
+-+++ b/lib/_stream_transform.js
+-@@ -64,7 +64,7 @@
+- 
+- module.exports = Transform;
+- 
+--var Duplex = require('_stream_duplex');
+-+var Duplex = require('./_stream_duplex');
+- var util = require('util');
+- util.inherits(Transform, Duplex);
+- 
+-diff --git a/lib/_stream_writable.js b/lib/_stream_writable.js
+-index a26f711..56ca47d 100644
+---- a/lib/_stream_writable.js
+-+++ b/lib/_stream_writable.js
+-@@ -109,7 +109,7 @@ function WritableState(options, stream) {
+- function Writable(options) {
+-   // Writable ctor is applied to Duplexes, though they're not
+-   // instanceof Writable, they're instanceof Readable.
+--  if (!(this instanceof Writable) && !(this instanceof Stream.Duplex))
+-+  if (!(this instanceof Writable) && !(this instanceof require('./_stream_duplex')))
+-     return new Writable(options);
+- 
+-   this._writableState = new WritableState(options, this);
 diff --git a/lib/_stream_duplex.js b/lib/_stream_duplex.js
 index c5a741c..a2e0d8e 100644
 --- a/lib/_stream_duplex.js

     return new Writable(options);
 
   this._writableState = new WritableState(options, this);

 util.inherits(PassThrough, Transform);
 
diff --git a/lib/_stream_readable.js b/lib/_stream_readable.js
index 0c3fe3e..35d4e0a 100644
--- a/lib/_stream_readable.js
+++ b/lib/_stream_readable.js
@@ -25,8 +25,21 @@ Readable.ReadableState = ReadableState;
 var EE = require('events').EventEmitter;
 var Stream = require('stream');
 var util = require('util');
+if (!util.isUndefined) {
+  var utilIs = require('core-util-is');
+  for (var f in utilIs) {
+    util[f] = utilIs[f];
+  }
+}
 var StringDecoder;
-var debug = util.debuglog('stream');
+var debug;
+if (util.debuglog)
+  debug = util.debuglog('stream');
+else try {
+  debug = require('debuglog')('stream');
+} catch (er) {
+  debug = function() {};
+}
 
 util.inherits(Readable, Stream);
 
diff --git a/lib/_stream_transform.js b/lib/_stream_transform.js
index b1f9fcc..b0caf57 100644
--- a/lib/_stream_transform.js
+++ b/lib/_stream_transform.js
@@ -64,8 +64,14 @@
 
 module.exports = Transform;
 
-var Duplex = require('_stream_duplex');
+var Duplex = require('./_stream_duplex');
 var util = require('util');
+if (!util.isUndefined) {
+  var utilIs = require('core-util-is');
+  for (var f in utilIs) {
+    util[f] = utilIs[f];
+  }
+}
 util.inherits(Transform, Duplex);
 
 
diff --git a/lib/_stream_writable.js b/lib/_stream_writable.js
index ba2e920..f49288b 100644
--- a/lib/_stream_writable.js
+++ b/lib/_stream_writable.js
@@ -27,6 +27,12 @@ module.exports = Writable;
 Writable.WritableState = WritableState;
 
 var util = require('util');
+if (!util.isUndefined) {
+  var utilIs = require('core-util-is');
+  for (var f in utilIs) {
+    util[f] = utilIs[f];
+  }
+}
 var Stream = require('stream');
 
 util.inherits(Writable, Stream);
@@ -119,7 +125,7 @@ function WritableState(options, stream) {
 function Writable(options) {
   // Writable ctor is applied to Duplexes, though they're not
   // instanceof Writable, they're instanceof Readable.
