can we enforce this and give good error messages?