semiperfect
not defined yet