type is also a function