recovery: typechecks, haven't tested.