Ignoring isOptional flag, cleaning up Type handling