I’m all for experimentation, however I’m curious why you wouldn’t want to use VTODO for task items. I can’t personally enumerate all the reasons that VTODO exists as a distinct component type, but I feel confident in saying that there are reasons :)
Looks like
RFC 2445 contains the formal definitions of the VTODO and VEVENT component types, in section 4.6.