Description
We are currently inconsistent in our use of methods with !!
at the end of the name. We sometimes call them but discard the return value, assuming they mutate; some methods which return their value are only marked width !
; there may be a few that have !!
in the name but don't in fact always return a value; etc. Once #555 is done I would like to take a pass over the codebase and make it such that
[EDIT: See comments]!
methods never return a value.!!
methods always return a value.- Whenever we call
!!
methods we make use of the return value and don't assume mutation.
I would also like to switch to using !!
methods in many places where we currently use !
methods. For instance, in #555 I'm building towards VarInfo
being such that you can push!!
new values to it that don't fit the element or VarName
type of the current VarInfo
, and if need be a new object is returned with expanded types, although most often that's not necessary and the old object is returned mutated. This might help simplify building VarInfo
s that with concrete types.