anchor.diff:          | Contact
           | Protected
           | Login of option<Action>
  +        | [<Query("firstName", "lastName")>] FormResultGet of firstName: string * lastName: string
  +        | [<FormData("firstName", "lastName")>] FormResultPost of firstName: string * lastName: string
           | Logout
           | Echo of string
           | Api of Api.Action
  
positive.code:                         do! ctx.UserSession.Logout ()
                          return! Content.RedirectTemporary Action.Home
                      }
                  | Action.Home ->
                      Content.RedirectPermanent Action.Home
                  | Action.Protected ->
  
negative.code: 
          /// A page to collect contact information.
          let ContactPage =
              let form isGet =
                  let method = if isGet then "get" else "post" 
                  let action = "/sitelet-tests/FormResult" + if isGet then "Get" else "Post"  
                  Elt("div",
                      Elt("form", Attr("action", action), Attr("method", method),
                          Text("First name: "),
                          Elt("input", Attr("type", "text"), Attr("name", "firstName")),
                          Text("Last name: "),
                          Elt("input", Attr("type", "text"), Attr("name", "lastName")),
                          Elt("input", Attr("type", "submit"), Attr("value", "Submit with " + method))
                      )
                  )
              Template "Contact" <| fun ctx ->
                  [
                      Elt("h1", Text "Contact Form")
                      Elt("div", new Client.SignupSequenceControl())
  
                      form true
                      form false
                  ]
  
          /// A simple page that echoes a parameter.
  