copied ReSpec's template
a bit of operational semantics