Definition concat {A : Type} (l : list (list A)) : list A :=
  flat_map id l.

(* Specifications: *)
Lemma concat_length {A}: forall L (l:list A), In l L -> (length (concat L) >= length l)%nat.
Lemma concat_InBlocks b: forall l (F: Forall (fun x : list bool => length x = b) l), InBlocks b (concat l).
Lemma concat_app {A} (l1 l2:list A): l1 ++ l2 = l1 ++ concat (l2 :: nil).