Text this: Approaches to improved program validation through programming language design /