type defs