Seeing that `base` approaches 4000 LOC, should this rather go into a separate module?