Type-n-run abstractions & 1st class procedures