I wonder if you should not implement it for && ref too ?
What if I write map(foo, file(...)) ?