conv =>
  lhs
  rw [←construct_destruct (corec (bind.automaton k) (.inl (construct <| .Free f)))]
  rw [destruct_corec]
  rhs
  rhs
  simp only [bind.automaton, destruct_construct]
F : Type u → Type u
inst : QPF F
R S : Type u
f : F (Free F R)
k : R → Free F S
⊢ corec (bind.automaton k) (Sum.inl (construct (FreeF.Free f))) =
    construct (FreeF.Free ((fun a => corec (bind.automaton k) (Sum.inl a)) <$> f))
F : Type u → Type u
inst : QPF F
R S : Type u
f : F (Free F R)
k : R → Free F S
⊢ construct (corec (bind.automaton k) <$> FreeF.Free (Sum.inl <$> f)) =
    construct (FreeF.Free ((fun a => corec (bind.automaton k) (Sum.inl a)) <$> f))