don't use tap with break; use let
just use compact. each has to be small.
don't use return