Make phrase-func support be generic