Generators for Dependent Types -- A Proof of Weak Termination Providing the Right Way to