type && typedef definition