Type & doc gen