//[snippet:Definition] open System type Hole = Hole [] let (?) (_ : Hole) (id : string) : 'T = sprintf "Incomplete hole '%s : %O'" id typeof<'T> |> NotImplementedException |> raise //[/snippet] //[snippet:Example] let abs n = if n >= 0 then n else Hole ?TODO_Negation // compile time warning: // Test.fs(28,15): warning FS0130: Incomplete hole // val abs : n:int -> int abs 2 // successful abs -1 // System.NotImplementedException: Incomplete hole 'TODO_Negation : System.Int32' //[/snippet]