Implement Chain meta-function, factor auto-promotion code.