"cast_forward_inputs" values to configure casting inputs or not
     before each instance's forward. In such a case, since the casts
     happen before each FSDP instance's forward, a parent FSDP
     instance should have its non-FSDP submodules run before its FSDP
     submodules to avoid the activation dtype being changed due to a
     different "MixedPrecision" configuration.Example:
    >>> model = nn.Sequential(nn.Linear(3, 3), nn.Linear(3, 3))
    >>> model[1] = FSDP(
    >>>     model[1],
    >>>     mixed_precision=MixedPrecision(param_dtype=torch.float16, cast_forward_inputs=True),
    >>> )
    >>> model = FSDP(
    >>>     model,
    >>>     mixed_precision=MixedPrecision(param_dtype=torch.bfloat16, cast_forward_inputs=True),
    >>> )

 The above shows a working example. On the other hand, if
 "model[1]" were replaced with "model[0]", meaning that the
 submodule using different "MixedPrecision" ran its forward first,
