GADTs for uniform edsl