Changed code so that mbk_fold and mck_fold operate on a single type