sub swap { reverse( shift, shift ), @_ ? &swap : (); }