: receive-if-timeout ( timeout pred -- message ) [ [ my-mailbox ] 2dip mailbox-get-timeout? ] 2keep pick valid? [ 3drop ] [ drop [ drop ] 2dip receive-if-timeout ] if ;