Fix the type args for StreamChannel.transform(). (#7)

Closes #6
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a018418..8d44b21 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+## 1.6.1
+
+* Fix the type of `StreamChannel.transform()`. This previously inverted the
+  generic parameters, so it only really worked with transformers where both
+  generic types were identical.
+
 ## 1.6.0
 
 * `Disconnector.disconnect()` now returns a future that completes when all the
diff --git a/lib/stream_channel.dart b/lib/stream_channel.dart
index 16323b1..34be085 100644
--- a/lib/stream_channel.dart
+++ b/lib/stream_channel.dart
@@ -108,7 +108,8 @@
   /// Transforms [this] using [transformer].
   ///
   /// This is identical to calling `transformer.bind(channel)`.
-  StreamChannel transform(StreamChannelTransformer<T, dynamic> transformer);
+  StreamChannel/*<S>*/ transform/*<S>*/(
+      StreamChannelTransformer<dynamic/*=S*/, T> transformer);
 
   /// Transforms only the [stream] component of [this] using [transformer].
   StreamChannel<T> transformStream(StreamTransformer<T, T> transformer);
@@ -152,7 +153,8 @@
     other.stream.pipe(sink);
   }
 
-  StreamChannel transform(StreamChannelTransformer<T, dynamic> transformer) =>
+  StreamChannel/*<S>*/ transform/*<S>*/(
+          StreamChannelTransformer<dynamic/*=S*/, T> transformer) =>
       transformer.bind(this);
 
   StreamChannel<T> transformStream(StreamTransformer<T, T> transformer) =>
diff --git a/pubspec.yaml b/pubspec.yaml
index 46d7761..7d395a3 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: stream_channel
-version: 1.6.0
+version: 1.6.1
 description: An abstraction for two-way communication channels.
 author: Dart Team <misc@dartlang.org>
 homepage: https://github.com/dart-lang/stream_channel
diff --git a/test/json_document_transformer_test.dart b/test/json_document_transformer_test.dart
index 4dd5ea7..6f18e36 100644
--- a/test/json_document_transformer_test.dart
+++ b/test/json_document_transformer_test.dart
@@ -11,11 +11,11 @@
 void main() {
   var streamController;
   var sinkController;
-  var channel;
+  StreamChannel<String> channel;
   setUp(() {
     streamController = new StreamController();
     sinkController = new StreamController();
-    channel = new StreamChannel(
+    channel = new StreamChannel<String>(
         streamController.stream, sinkController.sink);
   });