Use polymorphic types for download type