I don't think this function should exist unless it is parallel to `andThen`. `before` implies that there is an `after` which I think is a suboptimal name. Can you show some code that is better when it has this?

As a side-note, it may be worthwhile to rename `andThen` anyway, so we can do a brainstorm.