Migrating the flags into the type is a possibility but maybe it's easiest to add flags as runtime parameters.
I was using that as an example to argue for its inclusion because it was concise.
I'm not sure what the best interface would be, I'd have to think about it for a while.