node( head( $s ), promise { $s->[ 1 ] = $s->[ 1 ]->() if is_promise $s->[ 1 ]; filter( $f, $s->[ 1 ] ) } );