name-based type system

name-based type system