The existing form system has several design issues that create unnecessary complexity:
- Field names are auto-generated using
strings.ToLower(fieldType.Name) - Creates mismatches:
CurrencyCode→currencycodebut users expectcurrency_code - No control over field naming, leading to confusing APIs