Modularisation: split static and dynamic semantics