Based on investigation by sergey (Sergey Sharybin) and revzin (Grigory Revzin). Based on patch D460 by revzin (Grigory Revzin). Differential Revision: https://developer.blender.org/D460
BKE_keyblock_is_basis
BKE_key_convert/update
BKE_keyblock_convert/update