             it("Should return an array with a single item removed") {
                 var mentions: [Mention] = [Mention(range: NSRange(location: 0, length: 10), object: ExampleMention()),
                                            Mention(range: NSRange(location: 13, length: 10), object: ExampleMention())]
-                mentions |> remove([mentions[0]])
+                mentions = mentions |> remove([mentions[0]])
                 expect(mentions.count).to(equal(1))
             }
 
             it("Should return an array with a multiple items removed") {
                 var mentions: [Mention] = [Mention(range: NSRange(location: 0, length: 10), object: ExampleMention()),
                                            Mention(range: NSRange(location: 13, length: 10), object: ExampleMention())]
-                mentions |> remove([mentions[0], mentions[1]])
+                mentions = mentions |> remove([mentions[0], mentions[1]])
                 expect(mentions.isEmpty).to(beTrue())
             }
         }

                let insertText = "Test "
                expect(mentions[0].range.location).to(equal(0))
                expect(mentions[1].range.location).to(equal(15))
                mentions |> adjusted(forTextChangeAt: NSRange(location: 5, length: 0), text: insertText)
                expect(mentions[0].range.location).to(equal(0))
                expect(mentions[1].range.location).to(equal(15 + insertText.count))
            }

            it("Should return a new mentions array with a mention inserted") {
                var mentions: [Mention] = [Mention(range: NSRange(location: 0, length: 10), object: ExampleMention())]
                let createMentionObject = ExampleMention(name: "Test Mention")
                mentions = mentions |> insert([(createMentionObject, NSRange(location: 15, length: 12))])
                expect(mentions.count).to(equal(2))
                expect(mentions[1]).to(equal(Mention(range: NSRange(location: 15, length: 12), object: createMentionObject)))
            }
