parsed.optional.forEach(optional => {
if (args.length === 0) return;
const observedType = guessType(arg);
const matchingTypes = optional.cmd.filter(
type => type === observedType || type === '*'
);
if (matchingTypes.length === 0)
argumentTypeError(observedType, optional.cmd, position);
position += 1;
});