GR 42 - restrict fields

@twinge, please review
Yeah... 2 thoughts on that:
1) It's nice to be explicit with parens in this case and not have to remember the operator precedence of `&&` vs `and`
2) It's nice to reserve `and` for use in control flow, such as `perform_action and return false`, and consistently use `&&` for logic statements