In mathematics, the journey from confusion to clarity is the most rewarding experience.
Any problem in computer science can be solved with another layer of indirection.