If you end up coming up with a nice library design, you may want to generalize these operations from Double-valued logarithms to conversions between a Lie group and its corresponding Lie algebra.
Exp/ln on all/positive real numbers is a special case of exp/ln on a lie algebra/group.
Maybe worth checking if there already exists a package for working with lie groups in a nicely-typed way. If there's not a haskell one, I bet one of the theorem prover languages (coq, agda, idris) has one.
Best,
Will