Goal:
    A : Type
  ============================
   (forall P : tree A -> Type,
    P Empty ->
    (forall l : tree A,
     P l ->
     forall (o : option A) (r : tree A),
     P r -> not_trivially_empty l o r -> P (Node l o r)) ->
    A -> tree' A -> True)


DEBUG:Going to execute:
let H := fresh x in
           intro
           H
Level 2: Backtrace:

The first hypothesis in the goal is not an equality.
Level 2: Backtrace:

The first hypothesis in the goal is not an equality.
Level 2: Backtrace:

The first hypothesis in the goal is not an equality.
Level 2: Backtrace:

The first hypothesis in the goal is not an equality.