diff --git a/library/Optima.hs b/library/Optima.hs
--- a/library/Optima.hs
+++ b/library/Optima.hs
@@ -8,6 +8,7 @@
   -- * Param
   Param,
   value,
+  flag,
   switch,
   -- * Value
   Value,
@@ -134,6 +135,16 @@
       foldMap Optparse.short shortName <>
       paramHelp description format <>
       defaultValue def
+
+{-|
+A parameter with no value. Fails if it's not present.
+Thus it can be composed using Alternative.
+-}
+flag :: Text {-^ Description. Can be empty -} -> Param ()
+flag description =
+  Param (\ shortName longName ->
+    Optparse.flag' ()
+      (longParamName longName <> foldMap Optparse.short shortName <> paramHelp description UnspecifiedFormat))
 
 {-|
 A parameter with no value, the presence of which is interpreted as 'True'.
diff --git a/optima.cabal b/optima.cabal
--- a/optima.cabal
+++ b/optima.cabal
@@ -1,5 +1,5 @@
 name: optima
-version: 0.1.1
+version: 0.1.2
 category: CLI, Parsing, Options
 synopsis: Simple command line interface arguments parser
 homepage: https://github.com/metrix-ai/optima
