This is fairly obvious but I'll put it here for completeness sake. It also applies to untyped lambda calculus in general so I'll write it like that for readability.
Anywhere you want reuse a value/function that is at least as long as this expression
$$(\lambda v.p) \space d$$
you can declare it as a variable. Here "p" is the original program with all the original instances of your repeated value replaced by "v". "d" is the definition of the repeated value itself.
A contrived example
A program like this
$$(\lambda f.\lambda z.f f f f f z) (\lambda f.\lambda z.f f f f f z)(\lambda f.\lambda z.f f f f f z)$$
can be written as
$$(\lambda v.vvv)(\lambda f.\lambda z.f f f f f z)$$
This is a simple example but it's a neat abstraction because "v" can be used however deeply nested you decide to make "p".