anchor.diff:  /// <param name="name">The actor instance nane</param>
   /// <param name="f">the actor's message handling function.</param>
   let spawn (system : ActorSystem) name (f : Actor<'m> -> Cont<'m, 'v>) = spawns system name null f
  +
  +let actorOf (fn : 'a -> unit) (mailbox : Actor<'a>) = 
  +    let rec loop'() = 
  +        actor { 
  +            let! msg = mailbox.Receive()
  +            fn msg
  +            return! loop'()
  +        }
  +    loop'()
  +
  +let actorOf2 (fn : Actor<'a> -> 'a -> unit) (mailbox : Actor<'a>) = 
  +    let rec loop'() = 
  +        actor { 
  +            let! msg = mailbox.Receive()
  +            fn mailbox msg
  +            return! loop'()
  +        }
  +    loop'()
   
   [<AutoOpen>]
   module Actors = 
  
positive.code:     /// <param name="retries">Number of times, actor could be restarted. If negative, there is not limit.</param>
      /// <param name="timeout">Time window for number of retries to occur.</param>
      /// <param name="decider">Supervisor strategy behavior decider function.</param>
      let allForOne' retries timeout (decider : Exception -> Directive) () = 
          AllForOneStrategy(retries, timeout, System.Func<_, _>(decider)) :> SupervisorStrategy
  
  module System = 
  
negative.code:     /// <param name="retries">Number of times, actor could be restarted. If negative, there is not limit.</param>
      /// <param name="timeout">Time window for number of retries to occur.</param>
      /// <param name="decider">Supervisor strategy behavior decider function.</param>
      let oneForOne2 retries timeout (decider : Exception -> Directive) = 
          OneForOneStrategy(retries, timeout, System.Func<_, _>(decider)) :> SupervisorStrategy
      
      /// <summary>
  