We should define a generic flow and boundary class for proper typing - e.g., the boundaries-list of a flow should only contain lt.Boundary-type objects. And lt.Flow should always contain a shape deduced from resolution.
[ ] lt.Flow (shape [Tuple], units [lt.UnitConversion], boundaries [list: lt.Boundary])
[ ] lt.Boundary (call(self, f))
[ ] ...
Also, most functions do not contain typing restrictions
We should define a generic flow and boundary class for proper typing - e.g., the boundaries-list of a flow should only contain lt.Boundary-type objects. And lt.Flow should always contain a shape deduced from resolution.
Also, most functions do not contain typing restrictions