re making it more array-ish: you could generate the neighbours of each block and then check each pair of neighbours for each type of block, something like:
`{⍸(2|t)⊣@t⊢2∊¨@o(~2|+/)¨@z↓{⍵[0 2]}⌺3⊢⍵⊣z o t←⍸¨↓⍉⍵∘.=⍳3}`
but this is longer and only vaguely more array-ish