The authors describe here a framework in which the type notation of functional languages is extended to include a distinguishing notation for run-times and compile-times. Consequently the ability to specify code and verify program correctness can be improved.