handlers :: ServerT API Handler
handlers = getPage []
      :<|> withUser . Theorem.create
      :<|> ( \_id -> get404 _id
                :<|> revisions _id
                :<|> withUser . Theorem.update _id
                :<|> (withUser $ Theorem.delete _id)
           )
handlers :: ServerT API Handler
handlers = getPage []
      :<|> withUser . Theorem.create
      :<|> ( \_id -> get404 _id
                :<|> revisions _id
                :<|> withUser . Theorem.update _id
                :<|> (withUser $ Theorem.delete _id)
           )
handlers = getPage []
      :<|> withUser . Theorem.create
      :<|> ( \_id -> get404 _id
                :<|> revisions _id
                :<|> withUser . Theorem.update _id
                :<|> (withUser $ Theorem.delete _id)
           )