+1 for dropping some of these type params. Internally I find some often more confusing than anything