I'm not sure if the concepts/traits are worth keeping around anymore. They're a pain to write/maintain, they work on a best-effort basis (i.e., they aren't foolproof), and I'm not even sure if the compile errors are useful enough to warrant keeping them around.
Perhaps I should just give in and rely on ducktyping instead, which seems to be the idiomatic way of doing things. The docs will have to be updated though to very explicitly and obviously describe how things should be/used to help users if they run into errors.
I'm not sure if the concepts/traits are worth keeping around anymore. They're a pain to write/maintain, they work on a best-effort basis (i.e., they aren't foolproof), and I'm not even sure if the compile errors are useful enough to warrant keeping them around.
Perhaps I should just give in and rely on ducktyping instead, which seems to be the idiomatic way of doing things. The docs will have to be updated though to very explicitly and obviously describe how things should be/used to help users if they run into errors.