anchor.diff:  
       [<RequireQualifiedAccess>]
       type TransitionProp =
  +        /// Show the element; triggers the `enter` or `exit` states
           | In of bool
  +        /// Normally a element is not transitioned if it is shown when the `transition` element mounts.
  +        /// If you want to transition on the first mount set appear to true,
  +        /// and the element will transition in as soon as the `transition` mounts.
           | Appear of bool
  +        /// Enable or disable enter transitions.
           | Enter of bool
  +        /// Enable or disable exit transitions.
           | Exit of bool
  +        /// By default the child element is mounted immediately along with the parent `transition` element.
  +        /// If you want to "lazy mount" the element on the first `In true` you can set `MountOnEnter`.
  +        /// After the first enter transition the element will stay mounted, even on `exited`, unless you also specify `UnmountOnExit`.
           | MountOnEnter of bool
  +        /// By default the child element stays mounted after it reaches the `exited` state.
  +        /// Set `UnmountOnExit` if you'd prefer to unmount the element after it finishes exiting.
           | UnmountOnExit of bool
  +        /// The duration of the transition, in milliseconds. Required unless `AddEndListener` is provided
           | Timeout of U2<int, Timeout>
  +        /// Add a custom transition end trigger.
  +        /// Called with the transitioning DOM node and a done callback.
  +        /// Allows for more fine grained transition end logic.
  +        /// Note: Timeouts are still used as a fallback if provided.
           | AddEndListener of (Browser.HTMLElement -> (unit -> unit) -> unit)
  +        /// A transition callback fired immediately after the `enter` or `appear` class is applied.
           | OnEnter of (Browser.HTMLElement -> bool -> unit)
  +        /// A transition callback fired immediately after the `enter-active` or `appear-active` class is applied.
           | OnEntering of (Browser.HTMLElement -> bool -> unit)
  +        /// A transition callback fired immediately after the `enter` or `appear` classes are removed and the done class is added to the DOM node.
           | OnEntered of (Browser.HTMLElement -> bool -> unit)
  +        /// A transition callback fired immediately after the `exit` class is applied.
           | OnExit of (Browser.HTMLElement -> unit)
  +        /// A transition callback fired immediately after the `exit-active` is applied.
           | OnExiting of (Browser.HTMLElement -> unit)
  +        /// A transition callback fired immediately after the `exit` classes are removed and the exit-done class is added to the DOM node.
           | OnExited of (Browser.HTMLElement -> unit)
  -        | Children of U2<React.ReactElement, (TransitionStatus -> React.ReactElement)>
  +        /// A function child can be used instead of a React element.
  +        /// This function is called with the current transition status
  +        /// (`entering`, `entered`, `exiting`, `exited`, `unmounted`),
  +        /// which can be used to apply context specific props to a element.
  +        | Children of U2<React.ReactElement, TransitionStatus -> React.ReactElement>
           | [<CompiledName "className">] Class of string
           | Ref of (obj -> obj)
           | Key of string
  
positive.code: 
      [<RequireQualifiedAccess>]
      type TransitionGroupProp =
          | Component of React.ReactType
          | ChildFactory of (React.ReactElement -> React.ReactElement)
          | [<CompiledName "className">] Class of string
          | Ref of (obj -> obj)
  
negative.code: 
      [<RequireQualifiedAccess>]
      type CSSTransitionProp =
          /// Show the element; triggers the `enter` or `exit` states
          | In of bool
          /// Normally a element is not transitioned if it is shown when the `transition` element mounts.
          /// If you want to transition on the first mount set appear to true,
          /// and the element will transition in as soon as the `transition` mounts.
          | Appear of bool
          /// Enable or disable enter transitions.
          | Enter of bool
          /// Enable or disable exit transitions.
          | Exit of bool
          /// By default the child element is mounted immediately along with the parent `transition` element.
          /// If you want to "lazy mount" the element on the first `In true` you can set `MountOnEnter`.
          /// After the first enter transition the element will stay mounted, even on `exited`, unless you also specify `UnmountOnExit`.
          | MountOnEnter of bool
          /// By default the child element stays mounted after it reaches the `exited` state.
          /// Set `UnmountOnExit` if you'd prefer to unmount the element after it finishes exiting.
          | UnmountOnExit of bool
          /// The duration of the transition, in milliseconds. Required unless `AddEndListener` is provided
          | Timeout of U2<int, Timeout>
          /// Add a custom transition end trigger.
          /// Called with the transitioning DOM node and a done callback.
          /// Allows for more fine grained transition end logic.
          /// Note: Timeouts are still used as a fallback if provided.
          | AddEndListener of (Browser.HTMLElement -> (unit -> unit) -> unit)
          /// A transition callback fired immediately after the `enter` or `appear` class is applied.
          | OnEnter of (Browser.HTMLElement -> bool -> unit)
          /// A transition callback fired immediately after the `enter-active` or `appear-active` class is applied.
          | OnEntering of (Browser.HTMLElement -> bool -> unit)
          /// A transition callback fired immediately after the `enter` or `appear` classes are removed and the done class is added to the DOM node.
          | OnEntered of (Browser.HTMLElement -> bool -> unit)
          /// A transition callback fired immediately after the `exit` class is applied.
          | OnExit of (Browser.HTMLElement -> unit)
          /// A transition callback fired immediately after the `exit-active` is applied.
          | OnExiting of (Browser.HTMLElement -> unit)
          /// A transition callback fired immediately after the `exit` classes are removed and the exit-done class is added to the DOM node.
          | OnExited of (Browser.HTMLElement -> unit)
          /// A function child can be used instead of a React element.
          /// This function is called with the current transition status
          /// (`entering`, `entered`, `exiting`, `exited`, `unmounted`),
          /// which can be used to apply context specific props to a element.
          | Children of U2<React.ReactElement, TransitionStatus -> React.ReactElement>
          /// The animation ClassNames applied to the element as it enters or exits.
          /// A single name can be provided and it will be suffixed for each stage: e.g.
          ///
          /// `classNames="fade"` applies `fade-enter`, `fade-enter-active`,
          /// `fade-exit`, `fade-exit-active`, `fade-appear`, and `fade-appear-active`.
          /// Each individual classNames can also be specified independently.
          | ClassNames of U2<string, CSSTransitionClassNames>
          | [<CompiledName "className">] Class of string
          | Ref of (obj -> obj)
  