add type argument handling; fix optionNames loop