Fix constructor call with type parameters
diff --git a/lib/src/empty_unmodifiable_set.dart b/lib/src/empty_unmodifiable_set.dart
index b3d29ec..436e88d 100644
--- a/lib/src/empty_unmodifiable_set.dart
+++ b/lib/src/empty_unmodifiable_set.dart
@@ -20,14 +20,14 @@
 
   const EmptyUnmodifiableSet();
 
-  EmptyUnmodifiableSet<T> cast<T>() => const EmptyUnmodifiableSet<T>();
+  EmptyUnmodifiableSet<T> cast<T>() => new EmptyUnmodifiableSet<T>();
   bool contains(Object element) => false;
   bool containsAll(Iterable<Object> other) => other.isEmpty;
   Iterable<E> followedBy(Iterable<E> other) => new Set.from(other);
   E lookup(Object element) => null;
-  EmptyUnmodifiableSet<T> retype<T>() => const EmptyUnmodifiableSet<T>();
+  EmptyUnmodifiableSet<T> retype<T>() => new EmptyUnmodifiableSet<T>();
   E singleWhere(bool test(E element), {E orElse()}) => super.singleWhere(test);
-  Iterable<T> whereType<T>() => const EmptyUnmodifiableSet<T>();
+  Iterable<T> whereType<T>() => new EmptyUnmodifiableSet<T>();
   Set<E> toSet() => new Set();
   Set<E> union(Set<E> other) => new Set.from(other);
   Set<E> intersection(Set<Object> other) => new Set();