         return -1; // never found
     }
 
+    /**
+     * @return true if the specified element, or one that is Equalable.equals() to it, is
+     * contained in the array.
+     */
     public static function contains (arr :Array, element :Object) :Boolean
     {
         return (indexOf(arr, element) != -1);

 * contains methods that understand the interfaces in this package.
 * So, for example, removeFirst() understands Equalable and will remove
 * an element that is equals() to the specified element, rather than just
 * ===.
 */
public class ArrayUtil
{

     * Returns the index of the first item in the array for which the predicate function
     * returns true, or -1 if no such item was found. The predicate function should be of type:
     *   function (element :*) :Boolean { }
     *
     * @return the zero-based index of the matching element, or -1 if none found.
     */
    public static function indexIf (arr :Array, predicate :Function) :int
    {
