simp only [free, bind, flip]
F : Type u → Type u
inst : QPF F
R S : Type u
f : F (Free F R)
k : R → Free F S
⊢ free f >>= k = free (flip bind k <$> f)
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))