I believe there’s a typo in the first example of using a schemaless changeset.
The player struct is defined with a field named “username”
and attrs is defined with %{name: “player1”, age: 20}
The resulting changeset is still valid because there’s no enforcing on the presence of “username” field and this could be confusing.
You’ll see the fix in the next Beta release 