anchor.diff:  
   open Repository_types
   
  +//Get
  +// let get_events (wfName : WorkflowName)(repos : Repository) : EventName list =
  +//    let events = 
  +//        match repos.workflows.TryFind(wfName) with
  +//        | Some(v) -> v
  +//        | None -> failwith "Noooooo" 
  +//    let (makeEventnames : EventName list) =
  +//        events |> List.map (fun (event) -> (wfName, event))
  +//    makeEventnames(events)
  +
   //Create
   
   /// Creates and returns a new workflow from a name
  -let create_workflow (workflow : WorkflowName) : ResultWorkflow =
  -    failwith "Not implemented yed."
  -    ResultWorkflow.Ok(workflow,[])
  +let create_workflow (wfName : WorkflowName) (repos : Repository) : Result =
  +    let workflows = repos.workflows.Add(wfName, [])
  +    Result.Ok(repos)
   
   //Read
  +let check_workflow (wfName : WorkflowName) (repos : Repository) : bool =
  +    failwith "Not implemented yed."
   
   /// Metodes used when finding all executabel event for a user
  -let find_executable_with_roles (workflow : Workflow) (roles : Roles) : ExecutableInWorkflow =
  +let find_executable_with_roles (workflow : Workflow) (roles : Roles) (magic : SendFunc<'a>) (repos : Repository) : ExecutableInWorkflow =
   //    let name, eventList = workflow
   //    let rec findEvents
   //        match eventList with
  
positive.code: //Update
  
  /// Adds a given event to a given Workflow and returns the result
  let add_event (workflow : Workflow) (event : EventName) : ResultWorkflow =
      failwith "Not implemented yed."
      let wfName, eventNameList = workflow
      ResultWorkflow.Ok(wfName, event::eventNameList)
  
  //Delete
  
  /// Removes given event form given workflow and returns the result
  let remove_event (workflow : Workflow) (event : EventName) : ResultWorkflow =
      let wfName, eventNameList = workflow
      let rec remove_first eventNameList event =
          match eventNameList with
  
negative.code:     ResultWorkflow.Ok(wfName, (remove_first eventNameList event))
  
  /// Deletes given workflow and returns it if its susesful
  let delete_workflow (workflow : Workflow) (magic : SendFunc<'a>) (repos : Repository) : ResultWorkflow =
      let wfName, eventNameList = workflow
      let rec deleteEvents eventNameList=
          match eventNameList with
          | h::eventNameList ->
              match remove_event workflow h magic repos with  
              |ResultWorkflow.Ok(x) -> 
                  let wfN, eventNList = x
                  deleteEvents eventNList
  