Module docstring
{"# The variable? command
This defines a command like variable that automatically adds all missing typeclass
arguments. For example, variable? [Module R M] is the same as
variable [Semiring R] [AddCommMonoid M] [Module R M], though if any of these three instance
arguments can be inferred from previous variables then they will be omitted.
An inherent limitation with this command is that variables are recorded in the scope as
syntax. This means that variable? needs to pretty print the expressions we get
from typeclass synthesis errors, and these might fail to round trip.
"}