Re-implement BIP32, consistent with test vectors