anchor.diff:  module Api =
   
       type Action =
  -        | [<CompiledName "person"; Method "POST"; Json "userdata">]
  -            PostPerson of string * userdata: UserData
  +        | [<CompiledName "person"; Method "POST"; Json "data">]
  +            PostPerson of string * data: PersonData
           | [<CompiledName "person"; Method "GET">]
               GetPerson of string
  -        | [<CompiledName "person"; Method "PUT"; Json "userdata">]
  -            UpdatePerson of string * userdata: UserData
  +        | [<CompiledName "person"; Method "PUT"; Json "data">]
  +            UpdatePerson of string * data: PersonData
           | [<CompiledName "person"; Method "DELETE">]
               DeletePerson of string
   
  
positive.code:         | [<CompiledName "success">] Success of data: 'T
          | [<CompiledName "error">] Failure of message: string
  
      and UserData =
          {
              [<Name "firstName">]    FirstName   : string
              [<Name "lastName">]     LastName    : string
  
negative.code:             [<Name "died">]         Died        : DateTime option
          }
  
      let private peopleDatabase = Dictionary()
  
      let Sitelet = Sitelet.Infer <| fun action ->
          lock peopleDatabase <| fun () ->
              match action with
              | PostPerson (ident, data) ->
                  Content.JsonContent <| fun ctx ->
                      match peopleDatabase.TryGetValue ident with
                      | true, _ -> Failure "Person already registered"
                      | false, _ -> peopleDatabase.[ident] <- data; Success ()
              | GetPerson ident ->
                  Content.JsonContent <| fun ctx ->
                      match peopleDatabase.TryGetValue ident with
                      | true, u -> Success u
                      | false, _ -> Failure "Person not found"
              | UpdatePerson (ident, data) ->
                  Content.JsonContent <| fun ctx ->
                      match peopleDatabase.TryGetValue ident with
                      | true, _ -> peopleDatabase.[ident] <- data; Success ()
                      | false, _ -> Failure "Person not found"
              | DeletePerson ident ->
                  Content.JsonContent <| fun ctx ->
                      if peopleDatabase.Remove(ident) then
                          Success ()
                      else Failure "Person not found"
  
      do
          [
  