Suppose pred = x => x % 3 == 0
We abstract away the predicate, to make the example clearer.

      3
    /   \
   1     5       .filterAux(  Empty  )
    \   /  \
     2 4    6
     
     
     5                          1
   /   \         .filterAux(     \   .filterAux(Empty))
  4     6                         2

    
     5                                
   /   \         .filterAux(Empty.filterAux((2.filterAux(Empty)).ins(1)))
  4     6                               

     5                                
   /   \         .filterAux(Empty.filterAux((Empty.filterAux((Empty.filterAux(Empty)).ins(2)).ins(1)))
  4     6                               

     5                                
   /   \         .filterAux(Empty.filterAux((Empty.filterAux(Empty.ins(2)).ins(1)))
  4     6                               

     5                                
   /   \         .filterAux(Empty.filterAux((Empty.filterAux( 2 ).ins(1)))
  4     6                               

     5                                
   /   \         .filterAux(Empty.filterAux( 2 .ins(1)))
  4     6                               

     5                                         2              
   /   \         .filterAux(Empty.filterAux(  /  ))
  4     6                                    1 

     5                         2              
   /   \         .filterAux(  /  )
  4     6                    1 

                             2
4.filterAux( (6.filterAux(  /  )).ins(5) )
                           1

                                                 2
4.filterAux( (Empty.filterAux(Empty.filterAux(  /  ))).ins(5) )
                                               1 

                                 2
4.filterAux( (Empty.filterAux(  /  )).ins(5) )
                               1

                2
4.filterAux((  /  ).ins(5) )
              1              

               2
4.filterAux(  / \  )
             1   5
                   
                                    2
Empty.filterAux((Empty.filterAux(  / \  )).ins(4))                       
                                  1   5

                    2
Empty.filterAux((  / \  ).ins(4))                       
                  1   5

                   2
Empty.filterAux(  / \  )                       
                 1   5
                    /
                   4                 
  2
 / \                        
1   5
   /
  4