Return correct type on retain(..)