migrate to the new function syntax
diff --git a/lib/src/utils.dart b/lib/src/utils.dart
index 6f3ff02..022c8c1 100644
--- a/lib/src/utils.dart
+++ b/lib/src/utils.dart
@@ -31,10 +31,10 @@
 /// If [broadcast] is true, a broadcast stream is returned. This assumes that
 /// the stream returned by [future] will be a broadcast stream as well.
 /// [broadcast] defaults to false.
-Stream/*<T>*/ futureStream/*<T>*/(Future<Stream/*<T>*/> future,
+Stream<T> futureStream<T>(Future<Stream<T>> future,
     {bool broadcast: false}) {
   var subscription;
-  StreamController/*<T>*/ controller;
+  StreamController<T> controller;
 
   future = DelegatingFuture.typed(future.catchError((e, stackTrace) {
     // Since [controller] is synchronous, it's likely that emitting an error
diff --git a/pubspec.yaml b/pubspec.yaml
index 987e7b7..6bdb39a 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -6,7 +6,7 @@
   A file system watcher. It monitors changes to contents of directories and
   sends notifications when files have been added, removed, or modified.
 environment:
-  sdk: '>=1.9.0 <2.0.0'
+  sdk: '>=1.21.0 <2.0.0'
 dependencies:
   async: '>=1.10.0 <3.0.0'
   path: '>=0.9.0 <2.0.0'
diff --git a/test/utils.dart b/test/utils.dart
index e3c2a1b..e91ed15 100644
--- a/test/utils.dart
+++ b/test/utils.dart
@@ -344,10 +344,10 @@
 /// Returns a set of all values returns by [callback].
 ///
 /// [limit] defaults to 3.
-Set/*<S>*/ withPermutations/*<S>*/(/*=S*/ callback(int i, int j, int k),
+Set<S> withPermutations<S>(S callback(int i, int j, int k),
     {int limit}) {
   if (limit == null) limit = 3;
-  var results = new Set/*<S>*/();
+  var results = new Set<S>();
   for (var i = 0; i < limit; i++) {
     for (var j = 0; j < limit; j++) {
       for (var k = 0; k < limit; k++) {