Complexity and useful abstractions