make the happy paths for to-* functions a bit faster
don't memoize shortest-conversion-path, since it isn't referentially transparent. fixes #4