Strapi graphql OR operator for where clause

I am trying to do a combination of deep and complex filtering with the graphql plugin. I can get one or the other to work but not both. In the docs on the content API page and complex queries section there is a subsection “Combining AND and OR operators” that suggests this very thing is possible but when I try to run a query that is like the example shown (with an implicit AND) it returns the graphQLError - “Your filters contain a field ‘0.field1’ that doesn’t appear on your model definition nor it’s relations”

query QueryName($id:ID!,$id2:ID!,$id3!) {
memories(where:{
_or:[
{creator:$id},
[{field1_in:$id2},{field2:$id3},{visibility:“group”}]
]}) {
fieldA
fieldB
field…
}
}

if try updating the query to use an explicit AND (shown below) I get this graphQLError - “Your filters contain a field ‘_and’ that doesn’t appear on your model definition nor it’s relations”

query QueryName($id:ID!,$id2:ID!,$id3!) {
memories(where:{
_or:[
{creator:$id},
{_and:[{field1_in:$id2},{field2:$id3},{visibility:“group”}]}
]}) {
fieldA
fieldB
field…
}
}

Lastly, for the purposes of testing I tried to simplify the query and just do a single complex filter (shown below) and this query works.

query QueryName($id:ID!) {
memories(where:{
_or:[
{creator:$id},
{visibility:“group”}
]}) {
fieldA
fieldB
field…
}
}

Is it possible to nest complex queries like this using the graphql plugin or should I find another way of doing this? The docs defintely suggest it is possible but the example they show in the above mentioned docs section is using the REST API.