Saving a VPTree with JLD

I have some code that builds a number of VPTrees via VPTrees.jl and the building of these trees takes a long time. I’d like to be able to simply load a pre-built tree into a new session rather than having to re-build the trees each time I close/start a session. Here’s a MWE with JLD.jl and the error message I get:

using JLD
using StringDistances
using VPTrees

metric = (a, b) -> evaluate(Levenshtein(), a, b)
tree = VPTree(["Larry", "Moe", "Curly"], metric)

jldopen("tmp/test.jld", "w") do file
    addrequire(file, VPTrees)
    write(file, "tree", tree)
end

And the error:

ERROR: UndefVarError: isgeneric not defined
Stacktrace:
 [1] func2expr(::Function) at C:\Users\mthel\.julia\packages\JLD\jeGJb\src\JLD.jl:855
 [2] JLD.AnonymousFunctionSerializer(::Function) at C:\Users\mthel\.julia\packages\JLD\jeGJb\src\JLD.jl:862
 [3] writeas(::Function) at C:\Users\mthel\.julia\packages\JLD\jeGJb\src\JLD.jl:865
 [4] write_ref(::JLD.JldFile, ::Function, ::JLD.JldWriteSession) at C:\Users\mthel\.julia\packages\JLD\jeGJb\src\JLD.jl:668
 [5] macro expansion at C:\Users\mthel\.julia\packages\JLD\jeGJb\src\jld_types.jl:639 [inlined]
 [6] h5convert!(::Ptr{UInt8}, ::JLD.JldFile, ::VPTree{String,Int64}, ::JLD.JldWriteSession) at C:\Users\mthel\.julia\packages\JLD\jeGJb\src\jld_types.jl:654
 [7] write_compound(::JLD.JldFile, ::String, ::VPTree{String,Int64}, ::JLD.JldWriteSession; kargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at C:\Users\mthel\.julia\packages\JLD\jeGJb\src\JLD.jl:710
 [8] write_compound at C:\Users\mthel\.julia\packages\JLD\jeGJb\src\JLD.jl:704 [inlined]
 [9] #_write#23 at C:\Users\mthel\.julia\packages\JLD\jeGJb\src\JLD.jl:700 [inlined]
 [10] _write at C:\Users\mthel\.julia\packages\JLD\jeGJb\src\JLD.jl:700 [inlined]
 [11] #write#17 at C:\Users\mthel\.julia\packages\JLD\jeGJb\src\JLD.jl:524 [inlined]
 [12] write at C:\Users\mthel\.julia\packages\JLD\jeGJb\src\JLD.jl:524 [inlined] (repeats 2 times)
 [13] (::var"#118#119")(::JLD.JldFile) at .\REPL[166]:4
 [14] jldopen(::var"#118#119", ::String, ::Vararg{String,N} where N; kws::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at C:\Users\mthel\.julia\packages\JLD\jeGJb\src\JLD.jl:243
 [15] jldopen(::Function, ::String, ::String) at C:\Users\mthel\.julia\packages\JLD\jeGJb\src\JLD.jl:241
 [16] top-level scope at REPL[166]:1
 [17] include_string(::Function, ::Module, ::String, ::String) at .\loading.jl:1088

Does someone know how to do this? Thanks!!