There is a stupid amount of time put into doing this when I've been able to do it in about 20 minutes with 20 lines of code.
This is what I do with code. I take time to represent the concepts that exist in the code... If it's not explicit, it's not something the code tells us; which limits how much we understand the domain from the code.