     /**
      * Removes some keys and values from the source map and sets them in
      * the target map.  The keys to move are passed in as an
-     * <code>Array</code>.
+     * <code>Array</code> or <code>Vector</code>.
      *
      * @param source     The map to move from.
      * @param target     The map to move to.
-     * @param keyList    The list of keys to move. If a key does not exist
-     *                   on <code>source</code>, it is ignored.
-     */
-    public static function moveSubset(source:*, target:*, keyList:Array):void
+     * @param keyList    An <code>Array</code> or <code>Vector</code> of
+     *                   keys to move. If a key does not exist on
+     *                   <code>source</code>, it is ignored.
+     */
+    public static function moveSubset(source:*, target:*, keyList:*):void
     {
         for each (var key:* in keyList)
         {

    }

    /**
     * Returns the number of keys defined in a given map.
     *
     * Note: This is done using a <code>for ... in</code> loop, so only
     * dynamic keys will be counted.  Will likely return 0 for instances
     * of sealed classes.
     *
     * @example
     * <listing version="3.0">

     *
     * @param source     The map to copy from.
     * @param target     The map to copy to.
     * @param keyList    An <code>Array</code> or <code>Vector</code> of
     *                   keys to copy. If a key does not exist on
     *                   <code>source</code>, it is ignored.
     */
    public static function copySubset(source:*, target:*, keyList:*):void
    {
        for each (var key:* in keyList)
        {
