eval now supports a fallback expression