When should you use TypedChoiceField with a coerce function over a ChoiceField with a clean method on the form for the field?

In other words why would you use MyForm over MyForm2 or vice versa. Is this simply a matter of preference?

from django import forms

CHOICES = (('1', 'A'), ('2', 'B'), ('3', 'C'))

class MyForm(forms.Form):
    my_field = ChoiceField(choices=CHOICES)

    def clean_my_field(self):
        value = self.cleaned_data['my_field']
        return int(value)

class MyForm2(forms.Form):
    my_field = TypedChoiceField(choices=CHOICES, coerce=int)
Edit
Report