More fiddling with boxes. Better type signatures