add type_block and check for @:mergeBlock in macro return