Composable Type System Specification using Heterogeneous Scope Graphs