better errors
restore (generic, polymorphic) index