Generifying specifications, added Equal and Id