You can only get out the same type you put in. Presumably in your code you know that collection of Foo objects contains Foos, so you can just do:
if foo, ok = collection.get().(Foo); !ok { return errors.New("expected a Foo") }
Seriously, this is why generics exist. I want to write it once, use it everywhere again, and want to have the compiler know if I made a mistake.
You can only get out the same type you put in. Presumably in your code you know that collection of Foo objects contains Foos, so you can just do:
Write a few wrapper functions and you're done.