Short-circuit matching with in-line guards

Also matches constants instead of just the var list.