Currently, `withUnretained` defined only for Observable. Wouldn't it be useful to add it for all traits?