anchor.diff:              } |> Async.RunSynchronously
           )
   
  -    let initDict<'a> stateManager dictionaryName : FabricStore<'a> = 
  +    let initDict<'a, 'b when 'a :> IComparable<'a> and 'a :> IEquatable<'a>> stateManager dictionaryName : FabricStore<'a, 'b> = 
           stateManager
           |> init
           |> getDictionary dictionaryName
  
positive.code:         | OutsideOpenedStore (_, vs) -> f vs
  
      // Initialization
      let init<'a> stateManager : FabricStore<'a>= EmptyStore stateManager |> ClosedStore
  
      let getDictionary (dictionaryName:string) store =
          store
  
negative.code: open Microsoft.ServiceFabric.Data.Collections
  open FSharp.Control
  
  type StoreValues<'TKey,'T when 'TKey :> IComparable<'TKey> and 'TKey :> IEquatable<'TKey>> =
      | Empty
      | Dictionary of IReliableDictionary<'TKey, 'T>
      | Values of AsyncSeq<'TKey * 'T>
  
  type ValueStore<'TKey, 'T when 'TKey :> IComparable<'TKey> and 'TKey :> IEquatable<'TKey>> =
      | EmptyStore of IReliableStateManager
      | DictionaryStore of IReliableStateManager * IReliableDictionary<'TKey, 'T>
      | ResultStore of IReliableStateManager * AsyncSeq<'TKey * 'T>
  
  type FabricStore<'TKey, 'T when 'TKey :> IComparable<'TKey> and 'TKey :> IEquatable<'TKey>> =
      | ClosedStore of ValueStore<'TKey, 'T>
      | OpenedStore of ITransaction * ValueStore<'TKey, 'T>
      | OutsideOpenedStore of ITransaction * ValueStore<'TKey, 'T> // A store with a transaction that was provided out of scope
  
  module FabricStore =
      // Lifting value store
  