firstly, you are corrent - it should be 
``` ruby
expect([3,3,3]).to all(...)
```
maybe I'm missing something, but I thought doing:
``` ruby
expect([3,3,3]).to all(
   eq(3).and be_an(Integer)
)
```
both matchers (eq and be_a) are grouped into a single Compound matcher which is then passed to the **all** matcher as a single argument.

I thought it would work just the same as:
```
Compound matcher expressions can also be passed as an argument to another matcher:
```
``` ruby
expect(["food", "drink"]).to include(
  a_string_starting_with("f").and ending_with("d")
)
```