Containers of weak references

I needed an array of weak references to some objects. This means making my own wrapper structure just so it could have a weak property in it. Attempts to make the wrapper box struct generic meant jumping through AnyObject hoops. This is all solvable, of course, but it is not elegant, nice, or obvious. I think I want to just declare an array like this, maybe: var myArray: [weak SomeType?] and have the compiler do all of the tedious bits for me.