I'd love to see some code using the full block type to know how bad it is. Can you push some representative commits to this PR (even if they're broken)?