Adds ability to use explicit construcor arg types