> I am unsure where the proof, or even supporting argument
You make a lazy function strict by asking for its output now rather than later.
> An eager semantics supports the expected semantics of types (for example, the natural numbers are the natural numbers).
What a (counter)example! In lazy semantics the natural numbers are the natural numbers. In eager semantics the natural numbers are stack overflow.
> moreover, admits definition of the lazy forms of these types using suspension types
This is the required modification that your library maintainer would need to make if he had produced a strict library that you wanted to use lazily. Hence "You cannot ask a strict function to behave lazily."
> There being no representation of the eager types in a lazy language
Because the lazy representation is the same as the eager representation in the source code. It's up to the caller to demand values now, or later, hence "But you can ask a lazy function to behave strictly."