   static var parser: Parser<FBSimulatorBootConfiguration> {
     return Parser<FBSimulatorBootConfiguration>
       .accumulate(1, [
-        self.optionsParser.fmap { FBSimulatorBootConfiguration.withOptions($0) },
-        self.scaleParser.fmap { FBSimulatorBootConfiguration.withScale($0) },
+        self.optionsParser.fmap(FBSimulatorBootConfiguration.withOptions),
+        self.scaleParser.fmap(FBSimulatorBootConfiguration.withScale),
         self.localeParser.fmap { FBSimulatorBootConfiguration.withLocalizationOverride(FBLocalizationOverride.withLocale($0)) }
       ])
       .fmap { configuration in

  }

  static var waitForDebuggerParser: Parser<Bool> {
    return Parser<Bool>.alternative([
      Parser<Bool>.ofString("--wait-for-debugger", true),
      Parser<Bool>.ofString("-w", true)
      ]).fallback(false)
  }
}


    return Parser
      .ofCommandWithArg(
        EventName.LaunchXCTest.rawValue,
        configurationParser
      )
      .fmap(Action.launchXCTest)
      .sectionize("launch_xctest", "Action: Launch XCTest", "")
  }

  static var listenParser: Parser<Action> {
    return Parser<ListenInterface>
      .ofCommandWithArg(
        EventName.Listen.rawValue,
        ListenInterface.parser
      )
      .fmap(Action.listen)
      .sectionize("listen", "Action: Listen", "")
  }

