port over the diff3 function, though helper functions still need to be ported
port over the diff3 function, though helper functions still need to be ported

GoBoundless/dyph,GoBoundless/dyph3,GoBoundless/dyph,GoBoundless/dyph3