1st Oct 2024 refactoring to reduce compile time making protocol a logical assertion simplified definition of flow implications simplified adequacy proof