programming languages ​​- LET REC recursive expression static writing rule

I'm taking a course in programming languages ​​and I have a question regarding the writing rules for a recursive let rec Expression in a static writing system.

To be more specific, we are using the textbook. The essentials of programming languages ​​(3e) – Friedman & Wand.

To give some general information, here is how the author describes the writing rule for a normal leave Binding expression:

enter the description of the image here

To describe it briefly for anyone who is not familiar with the notation, kind of is a function used to evaluate the type of the given expression.

According to the typing rule, we evaluate exp1 First, what would give us type. $ t_1 $. Then we extend our current environment so that $ var $ is assigned to $ t_1 $. Using this new environment, we evaluate the $ body $ From the expression that our final type gives us.

This is how a let-rec The typing rule of the recursive link is defined:

enter the description of the image here

The main problem I have is how to understand the order of evaluation. According to the writing rule, it seems that we are first expanding the environment with $ var $ Y $ p $, but where do we get the types to map them?