Dating back to version 1.2, the with operator is one of Elixir's features that need a bit of time to comprehend at first. It often gets used in situations where one would use case, or vice versa. This post is intended to help people understand where each one fits best, and avoid some common pitfalls.