https://stackoverflow.com/questions/51429501/how-do-i-conditionally-check-if-an-enum-is-one-variant-or-another
Anonymous
Separate policy from mechanism, separate interfaces from engines.