Change constant architecture to use a structure that can be partially specialised. Fix min/max issues in error_handling.hpp.