I'm tempted to use in the constructor: `if (windows) { throw ... }`