diff --git a/src/FSharpPlus/Builders.fs b/src/FSharpPlus/Builders.fs
index 585f34516..14d2033e6 100644
--- a/src/FSharpPlus/Builders.fs
+++ b/src/FSharpPlus/Builders.fs
@@ -28,7 +28,21 @@ module GenericBuilders =
static member ($) (Idiomatic, Ii) = id
let inline idiomatic a b = (Idiomatic $ b) a
+ ///
+ /// Marks the beginning of an idiom bracket (applicative style).
+ ///
+ ///
+ /// Use Ii to mark the end of the idiom bracket.
+ ///
let inline iI x = (idiomatic << result) x
+
+ ///
+ /// Marks the end of an idiom bracket (applicative style).
+ ///
+ ///
+ /// Use iI to mark the beginning of the idiom bracket.
+ ///
+ let Ii = Ii
type Idiomatic with static member inline ($) (Idiomatic, Ji) = fun xii -> join xii
type Idiomatic with static member inline ($) (Idiomatic, J ) = fun fii x -> (Idiomatic $ x) (join fii)