#### Type
`inconsistency` for common use cases.
`bug` for projects relying on correct DOM emissions.

#### Description
It's unclear to me if the following is a known issue or not.
Take in consideration the snippet below:
```jsx
<input type="checkbox" defaultChecked={true} />
```
#### Current Behavior
Setting the `defaultValue` prop on inputs of other types sets both the `value` and `defaultValue` attribute on the DOM element.

When setting the `defaultChecked` prop on inputs of type `checkbox` only the `checked` attribute is correctly set, leaving the `defaultChecked` attribute unchanged.

#### Expected Behaviour
Like mentioned above, the expected behavior would be for the `defaultChecked` prop to set both the `checked` and `defaultChecked` attributes on the corresponding DOM node (like it's the case with the `defaultValue` prop).

props.value !== undefined &&
      props.defaultValue !== undefined &&
      !didWarnValueDefaultValue
    ) {
      warning(
        false,
        '%s contains an input of type %s with both value and defaultValue props. ' +
          'Input elements must be either controlled or uncontrolled ' +
          '(specify either the value prop, or the defaultValue prop, but not ' +
          'both). Decide between using a controlled or uncontrolled input ' +
          'element and remove one of these props. More info: ' +
          'https:fb.me/react-controlled-components',
        getCurrentFiberOwnerName() || 'A component',
        props.type,
      );
      didWarnValueDefaultValue = true;
    }
  }
  const node = ((element: any): InputWithWrapperState);
  const defaultValue = props.defaultValue == null ? '' : props.defaultValue;
  node._wrapperState = {
    initialChecked:
      props.checked != null ? props.checked : props.defaultChecked,
    initialValue: getSafeValue(
      props.value != null ? props.value : defaultValue,
    ),
    controlled: isControlled(props),
  };
}
export function updateChecked(element: Element, props: Object) {