Generic definition