ArgType refactoring, add generic parsing