Better correct type checking… moved native type stuff to it's own files so they can be included in Interface and InterfaceGenerate