Me: Okay, algorithm. Here are some points. Scatter them randomly in space. If the points are too close together, try again.
Algorithm: AAAAAAH the points are always too close, I quit
Me: What if you only check each point against OTHER points?
A: Ohhhh well you didn't SAY that
@abecedarius @pervognsen *waves* this is too big a topic to fit in a tweet but I believe it should look something like "you defined the module, you get [the canopener] to edit it" and the objects derived from the module are tied to it. See also metacircular eval for debugging. Immutability issues.