What is the best practice for `Ash.can?/3`

It’s an interesting question. This works for updates because you have the Contract. You could try doing something like Ash.can?({%Contract{room: %Room{}}, :create}), but I’m not sure if the can? code will check for that on create.