diff --git a/CHANGELOG.md b/CHANGELOG.md
index c652630..1f38fad 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,11 @@
+## 1.1.0
+
+* `ArgParser.parse()` now takes an `Iterable<String>` rather than a
+  `List<String>`.
+
+* `ArgParser.addOption()`'s `allowed` option now takes an `Iterable<String>`
+  rather than a `List<String>`.
+
 ## 1.0.2
 
 * Fix analyzer warning
diff --git a/lib/src/allow_anything_parser.dart b/lib/src/allow_anything_parser.dart
index 450920c..38daea5 100644
--- a/lib/src/allow_anything_parser.dart
+++ b/lib/src/allow_anything_parser.dart
@@ -34,7 +34,7 @@
       {String abbr,
       String help,
       String valueHelp,
-      List<String> allowed,
+      Iterable<String> allowed,
       Map<String, String> allowedHelp,
       String defaultsTo,
       void callback(value),
@@ -50,7 +50,7 @@
         "ArgParser.allowAnything().addSeparator() isn't supported.");
   }
 
-  ArgResults parse(List<String> args) =>
+  ArgResults parse(Iterable<String> args) =>
       new Parser(null, this, args.toList()).parse();
 
   String getUsage() => usage;
diff --git a/lib/src/arg_parser.dart b/lib/src/arg_parser.dart
index 62c8276..e91276d 100644
--- a/lib/src/arg_parser.dart
+++ b/lib/src/arg_parser.dart
@@ -111,7 +111,7 @@
       {String abbr,
       String help,
       String valueHelp,
-      List<String> allowed,
+      Iterable<String> allowed,
       Map<String, String> allowedHelp,
       String defaultsTo,
       void callback(value),
@@ -133,7 +133,7 @@
       String abbr,
       String help,
       String valueHelp,
-      List<String> allowed,
+      Iterable<String> allowed,
       Map<String, String> allowedHelp,
       defaultsTo,
       void callback(value),
@@ -172,7 +172,7 @@
 
   /// Parses [args], a list of command-line arguments, matches them against the
   /// flags and options defined by this parser, and returns the result.
-  ArgResults parse(List<String> args) =>
+  ArgResults parse(Iterable<String> args) =>
       new Parser(null, this, args.toList()).parse();
 
   /// Generates a string displaying usage information for the defined options.
diff --git a/lib/src/option.dart b/lib/src/option.dart
index 3ff7fe8..55cc566 100644
--- a/lib/src/option.dart
+++ b/lib/src/option.dart
@@ -2,8 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'dart:collection';
-
 /// Creates a new [Option].
 ///
 /// Since [Option] doesn't have a public constructor, this lets `ArgParser`
@@ -13,7 +11,7 @@
     String abbreviation,
     String help,
     String valueHelp,
-    List<String> allowed,
+    Iterable<String> allowed,
     Map<String, String> allowedHelp,
     defaultValue,
     Function callback,
@@ -55,7 +53,7 @@
       this.abbreviation,
       this.help,
       this.valueHelp,
-      List<String> allowed,
+      Iterable<String> allowed,
       Map<String, String> allowedHelp,
       this.defaultValue,
       this.callback,
@@ -63,10 +61,9 @@
       {this.negatable,
       bool splitCommas,
       this.hide: false})
-      : this.allowed =
-            allowed == null ? null : new UnmodifiableListView(allowed),
+      : this.allowed = allowed == null ? null : new List.unmodifiable(allowed),
         this.allowedHelp =
-            allowedHelp == null ? null : new UnmodifiableMapView(allowedHelp),
+            allowedHelp == null ? null : new Map.unmodifiable(allowedHelp),
         this.type = type,
         // If the user doesn't specify [splitCommas], it defaults to true for
         // multiple options.
diff --git a/pubspec.yaml b/pubspec.yaml
index 4692428..4e3311c 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: args
-version: 1.0.2
+version: 1.1.0
 author: "Dart Team <misc@dartlang.org>"
 homepage: https://github.com/dart-lang/args
 description: >
