Sorry just to clarify for the first suggestion I meant something like
struct FeatSpec{T}
name::String # string version of name
tuple::Tuple#{Vararg{UInt8}} # tuple version of name
id::UInt32 # id in main featSpecList
coreF::T # function that returns feature from specified granular segment
...<snipped>
end
const FeatValTypes::Type = Union{UInt8, Int8, String, Vector{UInt8}, Vector{Int8},Vector{String}}
.... <snipped>
vals0::FeatValTypes = f.coreF(docSens, s, t)
But it does sound like FunctionWrappers.jl would be the right choice here.