Use boxed types for literal values to keep syntax tree clean