Record val to type rule