Make common.base more functional