clarified const behaviour/silenced warning with free((void*)) . should be possible to mark objects as immutable and still be able to discard them , as immutability is valid for their lifetime.. are there any cleaner ways of doing this?