abstract combinatory logic?