Projection-based strictness analysis is a powerful technique,
able to cope with non-flat domains and latent demand.
By analysing the projections as embedding-projection pairs,
we develop an algorithm to translate lazy functions
into a strict functional language with explicit closures.
The translated functions typically operate on simpler types than the originals,
in particular types containing fewer liftings,
which correspond to the operational notion of closures.
Like the analysis on which it is based,
our algorithm is restricted to first-order functions.