Previously the necessary validations were missing, which could lead to crashes (#30) or accepting incorrect code. Now branches, disciplines and branch access are properly validated with helpful diagnostics; fixes #30.