WIP SI-5265 Make block typing re-entrant

Taking a leaf from the presentation compiler's book