Using a Ecto.Embedded as a parameterized type always raise or fails casting

I’ve tried to use Ecto.Embedded as a parameterized type for schemaless changeset, when using cast it always is invalid and when using cast_embed it raises.
Not sure if it’s an error or if Ecto.Embedded isn’t supposed to be used as a parameterized type on schemaless changeset.

Examples:

embed = Ecto.ParameterizedType.init(Ecto.Embedded, cardinality: :one, on_cast: fn d, p -> cast({d, %{b: :integer}}, p, [:b]) end, on_replace: :delete, field: :a)

{%{a: %{}}, %{a: embed}}
|> cast(%{"a" => %{"b" => "5", "c" => 2}}, [])
|> cast_embed(:a)

this raises the following error:

** (ArgumentError) expected `a` to be an embed in `cast_embed`, got: `{:parameterized, {Ecto.Embedded, %Ecto.Embedded{cardinality: :one, field: :a, owner: nil, related: nil, on_cast: #Function<41.113135111/2 in :erl_eval.expr/6>, on_replace: :delete, unique: true, ordered: true}}}`
    (ecto 3.13.2) lib/ecto/changeset.ex:1464: Ecto.Changeset.relation!/4
    (ecto 3.13.2) lib/ecto/changeset.ex:1298: Ecto.Changeset.cast_relation/4

while if I cast:

embed = Ecto.ParameterizedType.init(Ecto.Embedded, cardinality: :one, on_cast: fn d, p -> cast({d, %{b: :integer}}, p, [:b]) end, on_replace: :delete, field: :a)

{%{a: %{}}, %{a: embed}}
|> cast(%{"a" => %{"b" => "5", "c" => 2}}, [:a])

it always have the following error:

[
  a: {"is invalid",
   [
     type: {:parameterized,
      {Ecto.Embedded,
       %Ecto.Embedded{
         cardinality: :one,
         field: :a,
         owner: nil,
         related: nil,
         on_cast: #Function<41.113135111/2 in :erl_eval.expr/6>,
         on_replace: :delete,
         unique: true,
         ordered: true
       }}},
     validation: :cast
   ]}
]

Afaik it‘s that. Embeds where intended to become standard parrameterized types, but by my understanding that migration was never fully realized.