Why does `embeds_many` enforce a default of `[]`?

I had a similar situation, except that my valid types were null and [%{…}, ...] (no empty lists allowed). The solution that I’ve come up with is to implement an Ecto.Type instead of relying on embeds_many, which is a lot of work for this particular corner case.

My sample workaround is here: