anchor.diff:      | ModuleNotFound of moduleName : string * moduleType : string
       | ModuleInitializationError of moduleName : string * moduleType : string * error : string
       interface IMessage with
  +        member this.LogProperty() = (MessageKeyword.Node, MessageLevel.Error)
           member this.OperationMessage() = 
               match this with
               | ModuleNotFound(mn, mt) -> sprintf "Module '%s' of type '%s' was not found" mn mt
  
positive.code:       Message : string
        ErrorCode : string }
  
  /// Interface to expose internal message format
  type IMessage = 
      abstract OperationMessage : unit -> OperationMessage
  
  /// General purpose exception to be used. It is better to use
  /// DU based error than this exception.
  
negative.code:     | KeyNotFound of key : string
      override this.ToString() = sprintf "%A" this
      interface IMessage with
          member this.LogProperty() = (MessageKeyword.Default, MessageLevel.Nothing)
              
          member this.OperationMessage() = 
              match this with
              | GreaterThan(fn, ll, v) -> sprintf "Field '%s' must be greater than %s, but found %s" fn ll v
  