make add_to_store() signature 3 arguments shorter by collecting dropped arguments (alongside the function itselt) in a struct
(dropping a pretty useless shortcut)
(a bit more uncopypasting)
uncopypaste index "finalizer"
(move add_magic() definitions up)
(just reindent Store struct methods)