NumericLiteral and StringLiteral must be derived from Literal