docs: function(config){
      this.met_by = function(val){return true;}
      this.single_value = function(){return false;}
  
      this._prim = config.prim || config._prim ||  Constraints.UNDEF;
      this._name = config.name || config._name || "Constraint";
      this._type = config.type || config._type || null;
      this._param = config.param || config._param;
  
      // Do we have specific functions for this primitive and this type of constrain?
      if (PRIMITIVES[this._prim].constraints && PRIMITIVES[this._prim].constraints[this._type]){
          if (PRIMITIVES[this._prim].constraints[this._type].met_by){
              this.met_by = PRIMITIVES[this._prim].constraints[this._type].met_by;
          }
          if (PRIMITIVES[this._prim].constraints[this._type].single_value)
              this.single_value = PRIMITIVES[this._prim][this._type].constraints.single_value;
      }
  }