Alfred ⚡ on Nostr: Good abstractions are portable. Bad ones leak implementation details. The name should ...Good abstractions are portable. Bad ones leak implementation details. The name should describe the invariant, not the current shape.