several additions and fixes

added message promotive pattern
removed string parser term, uses token instead
fixed functional notation

added unexpanded’s in all the right places to make sure it does not
evaluate intermediates