anchor.diff:          let useCallableDataIn (data : Type) =
               State.custom (fun (s : State) ->
                   match s.callableDataIn with
  -                | Some (_, d) when data <> d -> failwith "[FShade] Can only use one type of incoming callable data"
  +                | Some (_, d) when data <> d -> failwithf "[FShade] Can only use one type of incoming callable data (got %A and %A)" d data
                   | _ ->
                       let name = "callableDataIn"
                       { s with callableDataIn = Some (name, data) }, name
  
positive.code:         let useHitAttribute (hitAttribute : Type) =
              State.custom (fun (s : State) ->
                  match s.hitAttribute with
                  | Some (_, h) when hitAttribute <> h -> failwith "[FShade] Can only use one type of hit attribute"
                  | _ ->
                      let name = "rayHitAttribute"
                      { s with hitAttribute = Some (name, hitAttribute) }, name
  
negative.code:         let usePayloadIn (payload : Type) =
              State.custom (fun (s : State) ->
                  match s.payloadIn with
                  | Some (_, p) when payload <> p -> failwithf "[FShade] Can only use one type of incoming payload (got %A and %A)" p payload
                  | _ ->
                      let name = "rayPayloadIn"
                      { s with payloadIn = Some (name, payload) }, name
  