NotEmpty contract macro