      - Parameter e: The element to search for
      - Returns: `true` or `false`
      */
-    public mutating func remove(e: Element) -> Bool {
+    public mutating func remove(e: Generator.Element) -> Bool {
         if let idx = self.indexOf(e) {
             self.removeAtIndex(idx)
             return true

     - Parameter predicate: This Element?
     - Returns: Index or .None
    */
    public func indexOf(predicate: Element -> Bool) -> Int? {
        for (idx, element) in self.enumerate() {
            if predicate(element) {
                return idx

     - Parameter e: The element to search for
     - Returns: Index or .None
     */
    public func indexOf(e: Generator.Element) -> Int? {
        for (idx, element) in self.enumerate() {
            if element == e {
                return idx
