the error that is returned is this:
** (MatchError) no match of right hand side value: {:error, %Ash.Error.Invalid{errors: [%Ash.Error.Query.InvalidFilterValue{message: nil, value: {:_arg, :organisation_id}, context: #Ecto.Query<from g0 in McFun.Games.Game, as: 0, join: g1 in ^#Ecto.Query<from g0 in McFun.Games.GameMeta, as: 0>, as: 1, on: g0.id == g1.game_id, where: type(as(1).organisation_id, {:parameterized, Ash.Type.Integer.EctoType, []}) ==
type(^{:_arg, :organisation_id}, {:parameterized, Ash.Type.Integer.EctoType, []}), select: struct(g0, [:id, :name, :origin, :inserted_at, :updated_at])>, changeset: nil, query: nil, error_context: [], vars: [], path: [], stacktrace: #Stacktrace<>, class: :invalid}], stacktraces?: true, changeset: nil, query: #Ash.Query<resource: McFun.Games.Game, arguments: %{organisation_id: 1}, filter: #Ash.Filter<game_meta.organisation_id == {:_arg, :organisation_id}>, load: [game_meta: []], errors: [%Ash.Error.Query.InvalidFilterValue{message: nil, value: {:_arg, :organisation_id}, context: #Ecto.Query<from g0 in McFun.Games.Game, as: 0, join: g1 in ^#Ecto.Query<from g0 in McFun.Games.GameMeta, as: 0>, as: 1, on: g0.id == g1.game_id, where: type(as(1).organisation_id, {:parameterized, Ash.Type.Integer.EctoType, []}) ==
type(^{:_arg, :organisation_id}, {:parameterized, Ash.Type.Integer.EctoType, []}), select: struct(g0, [:id, :name, :origin, :inserted_at, :updated_at])>, changeset: nil, query: nil, error_context: [], vars: [], path: [], stacktrace: #Stacktrace<>, class: :invalid}]>, error_context: [nil], vars: [], path: [], stacktrace: #Stacktrace<>, class: :invalid}}
** (MatchError) no match of right hand side value: {:error, %Ash.Error.Invalid{errors: [%Ash.Error.Query.InvalidFilterValue{message: nil, value: {:_arg, :organisation_id}, context: #Ecto.Query<from g0 in McFun.Games.Game, as: 0, join: g1 in ^#Ecto.Query<from g0 in McFun.Games.GameMeta, as: 0>, as: 1, on: g0.id == g1.game_id, where: type(as(1).organisation_id, {:parameterized, Ash.Type.Integer.EctoType, []}) ==
type(^{:_arg, :organisation_id}, {:parameterized, Ash.Type.Integer.EctoType, []}), select: struct(g0, [:id, :name, :origin, :inserted_at, :updated_at])>, changeset: nil, query: nil, error_context: [], vars: [], path: [], stacktrace: #Stacktrace<>, class: :invalid}], stacktraces?: true, changeset: nil, query: #Ash.Query<resource: McFun.Games.Game, arguments: %{organisation_id: 1}, filter: #Ash.Filter<game_meta.organisation_id == {:_arg, :organisation_id}>, load: [game_meta: []], errors: [%Ash.Error.Query.InvalidFilterValue{message: nil, value: {:_arg, :organisation_id}, context: #Ecto.Query<from g0 in McFun.Games.Game, as: 0, join: g1 in ^#Ecto.Query<from g0 in McFun.Games.GameMeta, as: 0>, as: 1, on: g0.id == g1.game_id, where: type(as(1).organisation_id, {:parameterized, Ash.Type.Integer.EctoType, []}) ==
type(^{:_arg, :organisation_id}, {:parameterized, Ash.Type.Integer.EctoType, []}), select: struct(g0, [:id, :name, :origin, :inserted_at, :updated_at])>, changeset: nil, query: nil, error_context: [], vars: [], path: [], stacktrace: #Stacktrace<>, class: :invalid}]>, error_context: [nil], vars: [], path: [], stacktrace: #Stacktrace<>, class: :invalid}}