'value' and 'type' now auto-generate if missing.