As of today:
InputField is not an Input and is not a FormField. It contains a RawInput.
InputContainer is not an Input and is not a Container.
Input builds an InputContainer containing an InputField.
InputFormField extends FormField and builds an Input.
This is very confusing. We should rationalise these names.
See also #7017 about documenting all this better.
cc @HansMuller, @mpcomplete, @abarth