I'm also having a hard time getting this type to work, I get errors like this:

```
anagram.rs:16:4: 17:1 error: mismatched types: expected `~[&'a str]` but found `~[&&str]` (expected &'a str but found &-ptr)
anagram.rs:16     filtered.to_owned_vec()
anagram.rs:17 }
```

For this code:
```rust
pub fn anagrams_for<'a>(word: &str, inputs: &[&'a str]) -> ~[&'a str] {
    let lower_word = word.to_ascii_lower();
    let norm_word = alphagram(lower_word);
    let iterator = inputs.iter();
    let filtered = iterator.filter(|other| {
        let lower_other = other.to_ascii_lower();
        lower_other != lower_word && norm_word == alphagram(lower_other)
    });
    filtered.to_owned_vec()
}
```

(all of the extra bindings are there just so I could get a better idea of where the error was)