Requirement

constructor(validator: (V) -> Boolean, errorGenerator: (V) -> String)