> local types and instances is this not an attempt to move module functionality inside function? would this not encourage larger functions? are larger functions a good thing? could this not be better addressed by allowing explicit export / hiding of instances in a module? does not type declaration inside function come at a performance cost?