-- | Read the value of a boolean flag.
runFlagBool :: F.FlagSpec -> Experiment Bool
runFlagBool (F.FlagSpec { F.long = k }) = flagValue k >>= \flagv ->
  case flagv of F.FBool b -> return b
                _         -> error $ printf "BUG: Flag '%s' is not a bool." k

-- | Declare a dependency on a string command line flag. String flags
-- are always satisfied.
runFlagBool :: F.FlagSpec -> Experiment Bool
runFlagBool (F.FlagSpec { F.long = k }) = flagValue k >>= \flagv ->
  case flagv of F.FBool b -> return b
                _         -> error $ printf "BUG: Flag '%s' is not a bool." k

-- | Declare a dependency on a string command line flag. String flags
-- are always satisfied.
runFlagBool (F.FlagSpec { F.long = k }) = flagValue k >>= \flagv ->
  case flagv of F.FBool b -> return b
                _         -> error $ printf "BUG: Flag '%s' is not a bool." k

-- | Declare a dependency on a string command line flag. String flags
-- are always satisfied.