During design of the APM, it was probably thought that singleton_p
does not need to change or should not change between package
versions. As far as I can tell it is the only attribute that is not
versioned (i.e. it is not stored in the apm_package_versions table that
is keyed by version_id). This means that we cannot currently keep track
of old values of singleton_p if that attribute changes. This is probably
not a problem though as I don't think people downgrade packages since AFAIK
this is currently unsupported by OACS (i.e. there are no downgrade scripts).
This makes me wonder if it makes sense to store information about old versions
in the APM at all...
So to conclude things, yes singleton_p should probably be editable. I don't
consider it a high priority feature though (i.e. singleton_p rarely changes)
so I'll probably not get around to implementing it myself.