Where do Type Systems Come From?