Text this: The Guarded Lambda-Calculus: Programming and Reasoning with Guarded Recursion for Coinductive Types