Adding filtermap.
Applys a filter but also maps to a new value if the filter predicts returns non-false