I have to agree. assert(1 + 1 < 3); will always be easier to read than any: assertPred!"a < b"(1 + 1, 3); Why not just keep it simple and straight forward? Anything expressed in the latter form can be expressed in the former.