Nana - a design by contract framework for C/C++