-spec path_prefix(t(), binary()) ->
t().
path_prefix(?T{path=Path}=T, <<Prefix/binary>>) ->
T?T{path = [Prefix | Path]}.
-spec path_prefix(t(), binary()) ->
t().
path_prefix(?T{path=Path}=T, <<Prefix/binary>>) ->
T?T{path = [Prefix | Path]}.
interleave([X|Xs], Sep) ->
[X, Sep | interleave(Xs, Sep)].
interleave([X|Xs], Sep) ->
[X, Sep | interleave(Xs, Sep)].