Use only pure functional datastructures when possible. Better interfaces.