-- shouldn't we share fan r ?

gateWith f = attachWithMaybe $ \allow a -> if f allow then Just a else Nothing
gateWith f = attachWithMaybe $ \allow a -> if f allow then Just a else Nothing
gateWith f = attachWithMaybe $ \allow a -> if f allow then Just a else Nothing