There are already typealiases for each block, 30 or 40. I was hoping to avoid cut/paste - the boilerplate I have now would drop in easily if I could just type the let property. I posted this to see if I could avoid that.
For large block, it's not ideal to type out the type in any form (though typealias is probably slightly better). What I ended up doing is to move let as close to the assignment as possible, and let the type inference do the thing. It's not always feasible ofc.
Yea, I've since abandon ISO C90 style declaration since it doesn't play well with type inference (in terms of convenience) and you'd get error on both use before declare and use before assign so not much is lost. The place I declare-without-assign is when the assignment can be different on different control path (if vs else) and when I don't want to expose temporary variables used to compute said variables. Anyhow, it's understandably style preference.