add type parameters to arrowTypes and methodTypes, so they can actually be instantiated when applied