Require switches and options to be called first, treat unrecognised switches/options as arguments