extension Array { func removeObject(object: T) { var index = find(self, object) self.removeAtIndex(index) } } >
I finally ended up with following code.
extension Array where Element: Equatable { mutating func remove(item: Element) -> Array { self = self.filter { $0 as? Element != item } return self } }