add typeOf for NTuples; make NTuple covariant

This pull request will enable defining functions taking NTuples.
This way I don't need to no the max size. Either way.