anchor.diff:  ///     so we prepend a "V".  This is also done in unmarkVar.
   ///     @mjp41: TODO: We should consider consolidating this.
   ///</summary>
  -let makeHSFVar = (+) "V"
  +let makeHSFVar : string -> string = (+) "V"
   
   /// Ensures a param in a viewdef multiset is arithmetic.
  -let ensureArith =
  +let ensureArith : TypedVar -> Result<IntExpr<Var>, Error> =
       function
       | Int x -> x |> makeHSFVar |> AVar |> ok
       | x -> x |> NonArithParam |> fail
  
positive.code: /// Returns an error if the variable is not an integer.
  /// Returns no clause if the variable is not initialised.
  /// Takes the environment of active global variables.
  let hsfModelVariables (svars : VarMap) : Result<Horn, Error> =
      let vpars =
          svars
          |> Map.toSeq
          |> Seq.map
              (function
  
negative.code: let predOfFunc
    (svars : VarMap)
    (parT : 'par -> Result<VIntExpr, Error>)
    ({ Name = n; Params = pars } : Func<'par>)
    : Result<Literal, Error> =
      lift (fun parR -> Pred { Name = n; Params = parR })
           (pars |> Seq.map parT |> collect)
  