restrictive type specs