public abstract IEnumerable <string> CompilerFlagsFor(CppCompilationInstruction cppCompilationInstruction);
protected IEnumerable <string> ChooseCompilerFlags(CppCompilationInstruction cppCompilationInstruction, Func <CppCompilationInstruction, IEnumerable <string> > defaultCompilerFlags) => defaultCompilerFlags(cppCompilationInstruction).Concat <string>(cppCompilationInstruction.CompilerFlags);