don't re-render blocks when expression is a primitive that doesn't change