diff --git a/CHANGELOG.md b/CHANGELOG.md
index 098e475..ad50fa1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 1.1.3
+
+* Fix type inconsistencies with `Map` and `Set`.
+
 ## 1.1.2
 
 * Export `UnmodifiableMapView` from the Dart core libraries.
diff --git a/lib/src/unmodifiable_wrappers.dart b/lib/src/unmodifiable_wrappers.dart
index 7f7d901..efe3c9d 100644
--- a/lib/src/unmodifiable_wrappers.dart
+++ b/lib/src/unmodifiable_wrappers.dart
@@ -227,7 +227,7 @@
    * Throws an [UnsupportedError];
    * operations that change the map are disallowed.
    */
-  V remove(K key) => _throw();
+  V remove(Object key) => _throw();
 
   /**
    * Throws an [UnsupportedError];
diff --git a/lib/wrappers.dart b/lib/wrappers.dart
index 34f812c..9f8b833 100644
--- a/lib/wrappers.dart
+++ b/lib/wrappers.dart
@@ -234,7 +234,7 @@
 
   Set<E> intersection(Set<Object> other) => _setBase.intersection(other);
 
-  E lookup(E element) => _setBase.lookup(element);
+  E lookup(Object element) => _setBase.lookup(element);
 
   bool remove(Object value) => _setBase.remove(value);
 
@@ -518,7 +518,7 @@
    */
   Set<V> intersection(Set<Object> other) => where(other.contains).toSet();
 
-  V lookup(V element) => _baseMap[_keyForValue(element)];
+  V lookup(Object element) => _baseMap[_keyForValue(element)];
 
   bool remove(Object value) {
     if (value != null && value is! V) return false;
diff --git a/pubspec.yaml b/pubspec.yaml
index 1517353..514ec4b 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: collection
-version: 1.1.2
+version: 1.1.3
 author: Dart Team <misc@dartlang.org>
 description: Collections and utilities functions and classes related to collections.
 homepage: https://www.github.com/dart-lang/collection
