-- | Read the value of an int flag.
runFlagInt :: F.FlagSpec -> Experiment Int
runFlagInt (F.FlagSpec { F.long = k }) = flagValue k >>= \flagv ->
  case flagv of F.FInt s -> return s
                _        -> error $ printf "BUG: Flag '%s' is not an int." k

-- | Declare a dependency on a double command line flag. Double flags
-- are always satisfied.
runFlagInt :: F.FlagSpec -> Experiment Int
runFlagInt (F.FlagSpec { F.long = k }) = flagValue k >>= \flagv ->
  case flagv of F.FInt s -> return s
                _        -> error $ printf "BUG: Flag '%s' is not an int." k

-- | Declare a dependency on a double command line flag. Double flags
-- are always satisfied.
runFlagInt (F.FlagSpec { F.long = k }) = flagValue k >>= \flagv ->
  case flagv of F.FInt s -> return s
                _        -> error $ printf "BUG: Flag '%s' is not an int." k

-- | Declare a dependency on a double command line flag. Double flags
-- are always satisfied.