everyday i'm mergin
match list instead of counting length
add type_block and check for @:mergeBlock in macro return
actually make @:mergeBlock work