diff --git a/CHANGELOG.md b/CHANGELOG.md
index bfcf1b6..f5507ba 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.15.0+1
+
+* Fix analysis errors caused via missing `/*<E>*/` syntax in `0.15.0`
+
 ## 0.15.0
 
 * Added the `Differ` interface, as well as `EqualityDiffer`
diff --git a/lib/src/differs/list_differ.dart b/lib/src/differs/list_differ.dart
index 2ca0c09..283b4e0 100644
--- a/lib/src/differs/list_differ.dart
+++ b/lib/src/differs/list_differ.dart
@@ -14,7 +14,7 @@
 class ListDiffer<E> implements Differ<List<E>> {
   final Equality<E> _equality;
 
-  const ListDiffer([this._equality = const DefaultEquality<E>()]);
+  const ListDiffer([this._equality = const DefaultEquality()]);
 
   @override
   List<ListChangeRecord<E>> diff(List<E> e1, List<E> e2) {
@@ -296,7 +296,7 @@
     }
   }
   if (hasSplice()) {
-    splices.add(new ListChangeRecord<E>(
+    splices.add(new ListChangeRecord/*<E>*/(
       current,
       spliceIndex,
       removed: spliceRemovals,
@@ -331,7 +331,7 @@
   // - then continues and updates the subsequent splices with any offset diff.
   for (var i = 0; i < splices.length; i++) {
     var current = splices[i];
-    current = splices[i] = new ListChangeRecord<E>(
+    current = splices[i] = new ListChangeRecord/*<E>*/(
       current.object,
       current.index + insertionOffset,
       removed: current.removed,
@@ -395,7 +395,7 @@
       );
       i++;
       final offset = spliceAdded - spliceRemoved.length;
-      current = splices[i] = new ListChangeRecord<E>(
+      current = splices[i] = new ListChangeRecord/*<E>*/(
         current.object,
         current.index + offset,
         removed: current.removed,
diff --git a/lib/src/observable_list.dart b/lib/src/observable_list.dart
index 9e3481b..1618ce6 100644
--- a/lib/src/observable_list.dart
+++ b/lib/src/observable_list.dart
@@ -311,7 +311,7 @@
     List/*<E>*/ oldValue,
     List/*<E>*/ newValue,
   ) {
-    return const ListDiffer<E>().diff(oldValue, newValue);
+    return const ListDiffer/*<E>*/().diff(oldValue, newValue);
   }
 
   /// Updates the [previous] list using the [changeRecords]. For added items,
diff --git a/pubspec.yaml b/pubspec.yaml
index edb5d55..30ea8fa 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: observable
-version: 0.15.0
+version: 0.15.0+1
 author: Dart Team <misc@dartlang.org>
 description: Support for marking objects as observable
 homepage: https://github.com/dart-lang/observable
