Title: Constructing type systems over an operational semantics