Tapir: Language Support to Reduce the State Space in Model-Checking