@bshankar I don't think the example is silly, I go through this exact progression all the time: Struct with bools or Options, fix it by switching to an enum, realize that my enum variants are really distinct types, switch to a trait-based solution. Some day I'll learn to skip to the end :)