GR 42 - restrict fields

@twinge, please review
OK; && has higher precedence than assignment, but I can get around that with parens