promote semantics