Tomek SowiÅski Wrote: > It may sound ridiculous but this is what came to me in a dream last night: why exactly does > Bounded have to express an interval? Forget intervals for a minute: > > struct Bounded(alias Pred, T); > > where Pred is a unary callable returning bool (same as in e.g. filter()). ... That reminds me of class invariants.