internal IntegerModel(IntegerModelFactory factory, ITypeSymbol type, IntHandle value)
        {
            Contract.Requires <ArgumentNullException>(factory != null, nameof(factory));
            Contract.Requires <ArgumentException>(value.Expression != null, nameof(value));

            this.Factory = factory;
            this.Type    = type;
            this.Value   = value;
        }
 internal IntegerValueModel(IntegerModelFactory factory, ITypeSymbol type, IntHandle value)
     : base(factory, type, value)
 {
     Contract.Requires(value.Expression.Kind == SmtLibStandard.ExpressionKind.Interpretation);
 }