∀ {L : FirstOrder.Language} {α : Type u'} (l : ℕ) (f : L.Functions l) (ts : Fin l → L.Term α),
  (FirstOrder.Language.func f ts).listEncode =
    Sum.inr ⟨l, f⟩ :: List.flatMap (fun i => (ts i).listEncode) (List.finRange l)