anchor.diff:      /// <summary>
       /// Returns an actor effect causing no changes in message handling pipeline.
       /// </summary>
  -    let inline empty (_: 'Any) : Decorator<'Message> = ActorAction.Empty :> Decorator<'Message>
  +    let inline empty (_: 'Any) : ContWrapper<'Message, 'Returned> = ActorAction.Empty :> ContWrapper<'Message, 'Returned>
   
       /// <summary>
       /// Returns an actor effect causing actor to switch its behavior.
       /// </summary>
       /// <param name="next">New receive function.</param>
  -    let inline become (next) : Decorator<'Message> = Become(next) :> Decorator<'Message>+    let inline become (next) : ContWrapper<'Message, 'Returned> = Become(next) :> ContWrapper<'Message, 'Returned>
positive.code:     /// <param name="f">Used by actor for handling response for incoming request</param>
      /// <param name="options">List of options used to configure actor creation</param>
      /// <param name="overrides">Functions used to override standard actor lifetime</param>
      let spawnOptOvrd (actorFactory : IActorRefFactory) (name : string) (f : Actor<'Message> -> Cont<'Message, 'Returned>) 
          (options : SpawnOption list) (overrides : LifecycleOverride) : IActorRef = 
          let e = ExpressionExt.ToExpression(fun () -> new FunActorExt<'Message, 'Returned>(f, overrides))
          let props = applySpawnOptions (Props.Create e) options
          actorFactory.ActorOf(props, name)
  
      /// <summary>
      /// Spawns an actor using specified actor computation expression, with custom spawn option settings.
      /// The actor can only be used locally. 
      /// </summary>
      /// <param name="actorFactory">Either actor system or parent actor</param>
      /// <param name="name">Name of spawned child actor</param>
      /// <param name="f">Used by actor for handling response for incoming request</param>
      /// <param name="options">List of options used to configure actor creation</param>
      /// <param name="overrides">Functions used to override standard actor lifetime</param>
      let spawnOptOvrd2 (actorFactory : IActorRefFactory) (name : string) (f : Actor<'Message> -> Decorator<'Message>) 
          (options : SpawnOption list) (overrides : LifecycleOverride) : IActorRef = 
          let e = ExpressionExt.ToExpression(fun () -> new FunActorExt<'Message, 'Returned>(f, overrides))
          let props = applySpawnOptions (Props.Create e) options
          actorFactory.ActorOf(props, name)
  
  
negative.code:             | None -> x.BasePostRestart (exn)
              | Some o -> o x.BasePostRestart
  
      and [<Interface>]ContWrapper<'Message, 'Returned> =
          abstract Continuation : Cont<'Message, 'Returned>
      and ActorAction<'Message, 'Returned> =
          | Empty
          interface ContWrapper<'Message, 'Returned> with
              member __.Continuation m = Func()
      and [<Struct>]Become<'Message, 'Returned>(next: 'Message -> ContWrapper<'Message, 'Returned>) =
          member x.Next = next
          interface ContWrapper<'Message, 'Returned>
      and [<Struct>]AsyncContWrapper<'Message, 'Returned>(asyncDecorator: Async<ContWrapper<'Message, 'Returned>>) =
          member __.Decorator = asyncDecorator
          interface ContWrapper<'Message, 'Returned>
  
      type ExpressionExt = 
          static member ToExpression(f : System.Linq.Expressions.Expression<System.Func<FunActorExt<'Message, 'v>>>) = toExpression<FunActorExt<'Message, 'v>> f
          static member ToExpression<'Actor>(f : Quotations.Expr<(unit -> 'Actor)>) = toExpression<'Actor> (QuotationEvaluator.ToLinqExpression f)
  
      
      let (|Become|_|) (effect: ContWrapper<'Message, 'Returned>) =
          if effect :? Become<'Message, 'Returned>
          then Some ((effect :?> Become<'Message, 'Returned>).Next)
          else None
  
      /// Gives access to the next message throu let! binding in actor computation expression.
  